Ordner, die von der Antivirusüberprüfung in ASP.NET Anwendungen ausgeschlossen werden sollen
Dieser Artikel hilft Ihnen, das Problem zu beheben, dass die AppDomain in ASP.NET Anwendungen möglicherweise entladen werden, wenn einige Ordner nicht von Antivirensoftware ausgeschlossen werden.
Ursprüngliche Produktversion: ASP.NET, .NET Framework 4.8, 4.7, 4.6, 4.5.2, 3.5 Service Pack 1
Ursprüngliche KB-Nummer: 3126034
Zusammenfassung
In ASP.NET Anwendungen sollten bestimmte Ordner von der Antivirusüberprüfung ausgeschlossen werden. Andernfalls kann der Scan unbeabsichtigte AppDomain Entladungen verursachen, was zu Leistungsproblemen führt.
ASP.NET verwendet die ReadDirectoryChangesW Win32-Funktion zum Überwachen von Verzeichnissen und Dateien. In den folgenden Szenarien wird die ASP.NET AppDomain Klasse entladen:
Der physische Stammpfad der Anwendung und alle unteren Verzeichnissen werden auf Namensänderungen oder Löschungen des Unterverzeichnisses überwacht. Der
AppDomainwird entladen, wenn eine dieser Änderungen vorgenommen wurde.Die
binApp_Code, , , undApp_WebReferencesApp_GlobalResourcesApp_BrowsersUnterverzeichnisse des Anwendungsstammordners werden auf Erstellung, Löschung, Umbenennung, ACL-Änderungen, Änderungen an der letzten Schreibzeit und Änderungen an der Größe überwacht. Wenn sich eine dieser Dinge ändert, wird sieAppDomainentladen.Dieweb.configDateien und die
machine.configStammdateien werden auf Änderungen überwacht. Eine Änderung an einer dieser Dateien entlädt dieAppDomain.Die web.config Datei der übergeordneten Anwendungen wird überwacht. Eine Änderung an dieser Datei entlädt die
AppDomain.Die web.config-Datei im Anwendungsstamm wird überwacht. Eine Änderung an dieser Datei entlädt die
AppDomain.Die
hash.webDatei, die sich im Hash-Unterverzeichnis des Ordners "Temporäre ASP.NET Dateien" befindet, wird überwacht. Diese Überwachung wurde hinzugefügt, um Entwicklungsszenarien zu unterstützen, in denen sowohl die Anwendung als auchClientBuildManagerdie LaufzeitBuildManagerdie Anwendungsdateien aktualisieren. Da es zwei Build-Manager gibt, mussten sie synchron gehalten werden, und diehash.webDatei wird zu diesem Zweck verwendet.Die web.config-Datei in einem beliebigen Unterverzeichnis der Anwendung wird überwacht. Eine Änderung an dieser Datei entlädt die
AppDomain.Das
App_LocalResourcesUnterverzeichnis jedes virtuellen Unterverzeichnisses wird auf Erstellung, Löschung, Umbenennung, ACL-Änderungen, Änderungen an der Letzten Schreibzeit und Änderungen an der Größe überwacht. Wenn sich eine dieser Dinge ändert, wird sieAppDomainentladen.
Basierend auf den überwachten Dateien und Ordnern werden die folgenden Verzeichnisse für den Ausschluss von Antivirenscans empfohlen:
- Das Stammverzeichnis und alle unteren Verzeichnissen für die ASP.NET Anwendung.
- Das Verzeichnis der .NET Framework-Konfigurationsdateien. Dies hängt von der Version der .NET Framework und davon ab, ob die ASP.NET Anwendung in 32-Bit- oder 64-Bit-Prozessen ausgeführt wird.
- Das Stammverzeichnis der übergeordneten Anwendung der ASP.NET Anwendung.
- Der Ordner "Temporäre ASP.NET Dateien".
Außerdem wird empfohlen, die folgenden IIS-Verzeichnisse von Antivirenscans in ASP.NET Anwendungen auszuschließen:
%systemroot%\System32\inetsrv\config%systemdrive%\inetpub\temp
Weitere Informationen
Um Das Entladen zu AppDomain vermeiden, deaktivieren FCNMode Sie (FCN steht für Dateiänderungsbenachrichtigung). Informationen zum Deaktivieren FCNMode finden Sie unter ASP.NET mit 2.0 verbundenen Anwendungen auf einer Website möglicherweise nicht mehr reagiert. Das Deaktivieren von FCNMode wird jedoch nicht empfohlen.