Von der Antivirus-Überprüfung in ASP.NET-Anwendungen auszuschließende Ordner
Dieser Artikel hilft Ihnen, das Problem zu beheben, dass die AppDomain
in ASP.NET-Anwendungen möglicherweise entladen werden, wenn einige Ordner nicht von der Antivirensoftware ausgeschlossen werden.
Original Version des Produkts: 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. Wenn dies nicht der Fall ist, kann die Überprüfung unbeabsichtigtes entladen verursachen, was zu AppDomain
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 Stamm Pfad der Anwendung und alle Unterverzeichnisse werden auf Änderungen oder Löschungen von Unterverzeichnissen überwacht. Der
AppDomain
wird bei einer dieser Änderungen entladen.Die
bin
,App_Code
,App_WebReferences
,,App_GlobalResources
und unterApp_Browsers
Verzeichnisse des Stammordners der Anwendung werden für die Erstellung, Löschung, Umbenennung, ACL-Änderungen, Änderungen an der Zeit des letzten Schreibvorgangs und Änderungen an der Größe überwacht. Wenn sich diese Dinge ändern, wird dasAppDomain
entladen.Die
machine.config
-und Stamm web.config Dateien werden auf Änderungen überwacht. Eine Änderung an einer dieser Dateien wird das EntladenAppDomain
.Die web.config Datei von übergeordneten Anwendungen wird überwacht. Eine Änderung an dieser Datei wird das Entladen
AppDomain
.Die web.config Datei im Stamm der Anwendung wird überwacht. Eine Änderung an dieser Datei wird das Entladen
AppDomain
.Die
hash.web
Datei, die sich im Unterverzeichnis Hash des Ordners Temporary ASP.net files befindet, wird überwacht. Diese Überwachung wurde hinzugefügt, um Entwicklungsszenarien zu unterstützen, bei denen sowohl dieClientBuildManager
und die LaufzeitBuildManager
die Anwendungsdateien aktualisieren. Da es zwei Build-Manager gibt, muss diese synchron gehalten werden, und diehash.web
Datei wird zu diesem Zweck verwendet.Die web.config Datei in einem beliebigen Unterverzeichnis der Anwendung wird überwacht. Eine Änderung an dieser Datei wird das Entladen
AppDomain
.Das unter
App_LocalResources
Verzeichnis jedes virtuellen Unterverzeichnisses wird auf Erstellung, Löschung, Umbenennung, ACL-Änderungen, Änderungen an der Zeit des letzten Schreibvorgangs und Änderungen an der Größe überwacht. Wenn sich diese Dinge ändern, wird dasAppDomain
entladen.
Basierend auf den Dateien und Ordnern, die überwacht werden, werden die folgenden Verzeichnisse für den Ausschluss aus dem Antivirus-Scan empfohlen:
- Das Stammverzeichnis und alle Unterverzeichnisse für die ASP.NET-Anwendung.
- Das Verzeichnis ".NET Framework config files". Dies hängt von der Version von .NET Framework und davon ab, ob die ASP.NET-Anwendung in 32-Bit-oder 64-Bit-Prozessen läuft.
- Das Stammverzeichnis der übergeordneten Anwendung der ASP.NET-Anwendung.
- Der Ordner für temporäre ASP.NET-Dateien.
Außerdem wird empfohlen, dass die folgenden IIS-Verzeichnisse in ASP.NET-Anwendungen von Antivirus-Scans ausgeschlossen werden:
%systemroot%\System32\inetsrv\config
%systemdrive%\inetpub\temp
Weitere Informationen
Deaktivieren Sie AppDomain
FCNMode
(FCN steht für Dateiänderungsbenachrichtigung), um unlädt zu vermeiden. Informationen zum Deaktivieren von FCNMode
finden Sie unter ASP.NET 2,0-verbundene Anwendungen auf einer Website scheinen möglicherweise nicht mehr reagiert. Das Deaktivieren von FCNMode wird jedoch nicht empfohlen.