Med IIS 7.x har man mulighed for at trace fejlede requests. Det er smart hvis man oplever at mange requests simpelthen fejler, smider en exception eller evt. udløber. Request tracing efterlader en form for log fil hver gang et request fejler, og de log filer kan man enten gennemgå manuelt eller igennem det jeg har valgt at bygge til formålet – FailedRequestViewer.
Du kan sætte failed request tracer regler på, enten på din webserver (IIS) eller igennem din applikation. Jeg kan så godt lide at fortælle at man har mulighed for at manipulere med IISn igennem applikationens web.config fil, at jeg i dette eksempel simpelthen vil vise hvordan det gøres.
Du kan logge alt hvad mht. fejlede requests ved at indsætte følgende i din web.config fil:
<system.webServer>
<tracing>
<traceFailedRequests>
<add path="*">
<traceAreas>
<add provider="ASP" verbosity="Verbose" />
<add provider="ASPNET"
areas="Infrastructure,
Module,
Page,
AppServices" verbosity="Verbose" />
<add provider="ISAPI Extension" verbosity="Verbose" />
<add provider="WWW Server"
areas="Authentication,
Security,
Filter,
StaticFile,
CGI,
Compression,
Cache,
RequestNotifications,
Module,
FastCGI"
verbosity="Verbose" />
</traceAreas>
<failureDefinitions timeTaken="00:00:00" statusCodes="100-999" />
</add>
</traceFailedRequests>
</tracing>
</system.webServer>
Det er faktisk meget simpelt. Her specificere vi hvilke providers vi gerne vil trace på, og hvilke areas vi ønsker at få information om. I vores failuredefinitions element fortæller vi, at vi gerne vil logge de requests som løber imellem statuskode 100 til 999 (alt).Husk at vi her kun fejlede requests, ikke requests der er “korrekt” gennemført.
Ens failed request log filer bliver pr. default gemt under inetpub (C:\inetpub\logs\FailedReqLogFiles\XXX\) folderen på webserveren. De er rene XML filer og sammen med dem ligger der et XSLT stylesheet der benyttes når man ser disse XML log filer i ens browser.
Se det er rigtigt super mega smart. Dette giver os nemlig mulighed for at finde ud af rigtig mange ting omkring de requests der har fejlet. Dog er der en ting som ikke er optimal ved dette, nemlig at man pr. default skal gennemgå de her logfiler en efter en. Det holder ikke. Derfor jeg er gået igang med at bygge en oversigt til de her filer, så man får et mere nuanceret overblik over ens failed request filer og i fremtiden måske bruge oversigten til lettere at finde fejl i ens applikation.

og flere detaljer om hvert request

Du kan downloade koden for projektet her.