IIS7 visar felsida innan du hinner logga felen
I nästan alla de projekt jag jobbar med finns det en central plats där alla fel loggas, vanligtvis genom att lyssna på Application_Error i global.asax.
En potentiellt otrevlig nyhet i IIS 7 för websajter som körs i Integration Mode är att eventuella fel fångas upp av IIS som returnerar en egen felsida istället för att skicka dem vidare till ASP.NET-motorn. Men bara om man satt CustomErrors i web.config till On eller RemoteOnly och har en felsida definierad i IIS7, vilket du har per default.
I de fall du t ex vill logga alla fel eller hantera dem på annat sätt innan felsidan visas för användaren kan detta bli ett problem när sajten läggs ut i en miljö där CustomErrors ska sättas till On eller RemoteOnly.
Som tur är kom en förändring på System.Web.HttpResponse i .NET 3.5! Den ”nya” egenskapen är TrySkipIisCustomErrors och ska sättas till true för att låta även IIS 7 skicka vidare felen till ASP.NET så att du kan hantera dem som du vill.
Johanna Gustafsson
2011-03-02