Wir verwenden AutoMapper 3.1.1.0 in unserer Dot net-Anwendung. Wir haben viele Klassen, die man kartieren muss. Die Zeit für die Initialisierung des Mappings beträgt fast 22 Sekunden. Wir haben fast 1327 DTO, die zugeordnet werden müssen.AutoMapper weh Leistung in. NET-Anwendung mit mehr als 1327 DTO beim Mapping
Und wir können sagen, dass jeder DTO durchschnittlich 8 Eigenschaften hat.
Meine Sorge ist, für jede Nachricht, die wir in der Liste überprüfen von 1327 DTO abgebildet,
und verwenden Sie dann
if (MappingManager.MessageMappings.ContainsKey(message.GetType()))
{
var myMessage = Mapper.Map(message, message.GetType(), MappingManagerFile.MessageMappings[message.GetType()]);
So ist es Leistung weh tut. Müssen wir nach der Verwendung entsorgen, oder autmapper selbst aufpassen? Im Task-Manager benötigt die Komponente, die diese Konvertierung durchführt, viel Speicher.
Bitte schlagen Sie vor, welche Änderungen wir zur Verbesserung der Leistung benötigen.
* Warum eine alte Version und * was ist 22 Sekunden Start (!) Zeit ein Problem, wenn dies beim Programmstart passiert und kann Async durchgeführt werden, während andere Startup-Dinge tun? – TomTom
* "Zeit benötigt, um Mapping zu initialisieren ist fast 22 Sekunden" *, können Sie Code anzeigen, können Sie bestimmen, welcher Typ länger dauern, usw.? – Sinatr
@Sinatr Mein Anliegen ist nicht zur Startzeit erforderlich, aber nach der tatsächlichen Anfrage kommen und wir müssen dies mit Mapper.Map zuordnen und in diesen 1300 Listensätzen suchen –