Wir haben Probleme bei der Migration unserer ASP.NET-Anwendungen auf Windows Server 2008 R2 x64 und IIS7.5. Das Problem ist, dass unsere ASP.NET-Anwendungen Protokolldateien schreiben, und diese Protokolldateien werden nicht geschrieben. Die einzige Möglichkeit, wie die Anwendungen ihre Protokolldateien schreiben, ist, wenn ich auf dem Server als lokaler Administrator-Benutzer angemeldet bin oder wenn ich mit der rechten Maustaste auf den IE klicke und ihn als "Als Administrator ausführen" ausführe, was beides keine akzeptable Lösung für uns ist.
Unsere Plattform ist: Windows Server 2008 R2 x64 (die UAC-Einstellung ist die Standardeinstellung) IIS7.5 ASP.NET 4.0 (mit Windows-Authentifizierung und Impersonation, beide in web.config aktiviert)
Unsere App wird installiert auf: D:[appname] [appnameWebSite] (alle .aspx-, .dll- usw. Dateien befinden sich hier) \Log (die Anwendung versucht, die Protokolldatei in diesen Ordner zu schreiben)
Auf dem Server: Neuer App Pool erstellt (Name: [appname], .NET 4.0, Managed Pipeline Mode: Classic, Identity: ApplicationPoolIdentity, Benutzerprofil laden: False, alle anderen Eigenschaften sind die Standardeinstellungen) Erstellen Sie eine IIS-Anwendung, die auf D:[appname][appnameWebSite] zeigt, und fügen Sie sie dem neuen App Pool hinzu (volle Vertrauensstufe). Sie haben einen Domänenbenutzer in der lokalen Administratorengruppe
Mit allen oben aufgeführten Konfigurations- und Standardeinstellungen schreibt die ASP.NET-Anwendung die Protokolldatei nicht. Die Anwendung scheint im Browser gut zu funktionieren, aber es gibt keine log.txt-Datei.
Um dieses Problem zu "beheben", haben wir viele Dinge ausprobiert: Anwendungspool-Einstellung ausprobiert: Verwalteter Pipeline-Modus: Integriert Versuchte Anwendungspool-Einstellung: Identität: NetzwerkDienst Versuchte Anwendungspool-Einstellung: Identität: LokalesSystem Versuchte Anwendungspool-Einstellung: Benutzerprofil laden: True Der Gruppe Users volle Kontrolle über das Dateisystem für unsere Anwendungsordnerstruktur gegeben (ausprobiert: appname-Ordner, ausprobiert: nur Log-Ordner, ausprobiert: nur appnameWebSite und Log-Ordner) Dem IIS-Benutzer AppPool[appname] (passend zum neuen App-Pool) volle Kontrolle über das Dateisystem für die Ordnerstruktur unserer Anwendung gegeben (versucht: appname-Ordner, versucht: nur Log-Ordner, versucht: nur appnameWebSite- und Log-Ordner)
Nichts von alledem hat geholfen. Auch hier lief die Anwendung einwandfrei, es wurde nur keine Protokolldatei erstellt.
Wie bereits erwähnt, wird die Protokolldatei bei der Ausführung der Anwendung nur dann erstellt, wenn wir uns mit dem lokalen Administratorkonto beim Server anmelden (was sinnvoll ist, da er ein Superuser ist) oder wenn wir den IE als Administrator ausführen und die Berechtigungen erweitern.
Irgendwelche Vorschläge? Hilfe? Fragen?
Danke!