Kann ich ein Protokoll darüber sehen, ob IIS ein .net-HTTP-Modul lädt (oder nicht lädt)?

Kann ich ein Protokoll darüber sehen, ob IIS ein .net-HTTP-Modul lädt (oder nicht lädt)?

Ich habe eine Site, die ein .net-Sicherheitsmodul verwendet, um bestimmte Bereiche der Website zu sichern. Es funktioniert nicht, die Seiten, die kennwortgeschützt sein sollten, sind es nicht. Ansonsten wirft die Site keine Fehler aus.

Ich habe keinen Zugriff auf den Code und das Modul scheint nichts zu protokollieren.

Gibt es ein IIS- oder .Net-Protokoll zum Laden/Aufrufen von httpModulen? Ich habe das Gefühl, dass es nicht geladen/aufgerufen wird und es mir einfach nichts sagt.

Meine web.config hat diesen Snippet, der das Modul lädt:

<httpModules>

  <add name="MyApp.SecurityModule" type="MyApp.Host.Security.WebForms.SecurityModule" />

</httpModules>

Antwort1

Ist dieses Sicherheitsmodul in eine eigene Assembly (DLL) kompiliert? Wenn ja, können Sie möglicherweise feststellen, ob der IIS-Prozess (w3wp.exe) erfolgreich auf die DLL zugreift, indem Sie Folgendes verwenden:SysInternals procmon. Vielleicht liegt es einfach an einem Problem mit den Dateisystemberechtigungen.

Haben Sie das Windows-Ereignisprotokoll auf Fehlermeldungen überprüft?

Verwendet die Anwendung log4net oder ein anderes Protokollierungsframework? Vielleicht können Sie die Protokollierungsebene auf DEBUG ändern und sehen, ob etwas in das Anwendungsprotokoll geschrieben wird.

Sie können versuchen,Seitenverfolgungin der web.config und prüfen Sie, ob im Ablaufverfolgungsprotokoll etwas angezeigt wird.

Antwort2

Überprüfen Sie die Ablaufverfolgung fehlgeschlagener Anforderungen.http://blogs.msdn.com/b/tess/archive/2008/08/19/troubleshooting-a-performance-issue-with-failed-request-tracing-and-appcmd-in-iis7.aspx

Es zeigt Ihnen die gesamte Pipeline und welche Module geladen sind usw.

Antwort3

Sie können im httplog den folgenden Pfad sehen

%SystemDrive%\Windows\System32\LogFiles\HTTPERR

verwandte Informationen