ASP.NET websites og webapplikasjoner har en tilhørende web.config fil. Denne filen
inneholder xml-data som beskriver hvordan din webapplikasjon er konfigurert. Denne
konfigurasjonsfilen kan spesifisere innstillinger enten for hele websiden din, for
en bestemt katalog eller for enklelte filer. I denne artikkelen skal vi konfigurere
web.config til å håndtere feilmeldinger for hele websiden.
Vi skal kikke på en del av web.config som kalles "customErrors". Den legges inn
i <system.web> og det kan feks se slik ut:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.web>
<customErrors mode="Off" />
</system.web>
</configuration>
I eksempelet over vil vi ikke håndtere feilmeldinger. Mens man utvikler er det jo
greit å se hva som er feil mens man jobber med løsningen. I koden under er web.config
satt opp til å sende brukeren til vennlige feilmeldinger.
<customErrors mode="On" defaultRedirect="/error/error.htm">
<error statusCode="404" redirect="/error/404.htm" />
<error statusCode="500" redirect="/error/500.htm" />
</customErrors>
I eksempelet over sender man brukeren til angitte sider avhengig av hvilken feil
som dukker opp. Det er en ting som er viktig å merke seg. ASP.NET prosesserer bare
forespørsler med spesifikke filendelser. Dvs at filer med endelsen .htm
eller .html eller .php (osv...) ikke blir fanget opp av web.config
fordi den ikke prosesseres av ASP.NET motoren. Man kan sette opp IIS til å prosessere
alle type filendelser, men det er et ytelsesspørsmål. ASP.NET prosesserer heller
ikke url'er uten filendeleser (med mindre det ligger et default-dokument i mappen)
som feks http://minportal.no/forum, mens http://minportal.no/forum.aspx
vil fanges opp.