Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Regel-ID |
DA0012 |
Kategorie (Category) |
.NET Framework-Verwendung |
Profilerstellungsmethoden |
Sampling |
Meldung |
Möglicherweise verwenden Sie Reflektion zu häufig.Dieser Vorgang ist äußerst speicherintensiv. |
Regeltyp |
Warnung |
Ursache
Aufrufe der System.Reflection-Methoden (beispielsweise "InvokeMember" oder "GetMember") oder der Type-Methoden (beispielsweise "MemberInvoke") machen einen großen Teil der Profilerstellungsdaten aus.Ersetzen Sie diese Methoden, wenn möglich, durch eine frühe Bindung an Methoden abhängiger Assemblys.
Regelbeschreibung
Reflektion ist eine flexible Funktion von .NET Framework, die verwendet werden kann, um späte Bindung der Anwendung an eine abhängige Laufzeitassembly auszuführen oder neue Typen während der Laufzeit zu erstellen und dynamisch auszuführen.Diese Verfahren können jedoch die Leistung verringern, wenn sie häufig verwendet oder in dichten Schleifen aufgerufen werden.
Weitere Informationen finden Sie im Reflektion und späte Bindung-Abschnitt von " 5 - verwaltete Code-Leistung im der Verbesserung .NET-Anwendung Leistungs- und Skalierbarkeitsvolume der Microsoft-Muster verbessernd und arbeitet Bibliothek auf MSDN.
Vorgehensweise bei der Überprüfung einer Warnung
Doppelklicken Sie im Fenster Fehlerliste auf die Meldung, um zur Funktionsdetailansicht der Profilerstellungsdaten zu navigieren.Untersuchen Sie die aufrufenden Funktionen der System.Type-Methode oder der System.Reflection-Methode, um Abschnitte des Programms zu suchen, die .NET-Reflektions-APIs am häufigsten verwenden.Vermeiden Sie, Methoden zu verwenden, die Metadaten zurückgeben.Wenn die Leistung der Anwendung wichtig ist, müssen Sie möglicherweise vermeiden, späte Bindung zu verwenden und Typen zur Laufzeit dynamisch zu erstellen.