Il blog di TixXio Un blog impossibile o privo di significato

21nov/080

Rispondere con 404 in ASP.NET

In Tizio&Caio ci sono diversi tipi di risorse che vengono realizzate e pubblicate per gli utenti sul sito: molte di queste, per assicurarne la qualità, richiedono di essere validate da un altro membro dello staff diverso dal creatore.

Durante questa fase la risorsa è realmente esistente all'URL in cui si troverà, ma la sua visualizzazione è limitata al solo staff, per le ragioni che ho spiegato prima. Per evitare che qualche utente malizioso possa andare alla ricerca di queste risorse facciamo in modo che, se il visitatore manca delle necessarie autorizzazioni non visualizzi un generico errore di accesso, ma un bel 404.

Fortunatamente non c'è alcun bisogno di andare a smanettare con la sezione customErrors del web.config, è sufficiente generare una HttpException:

throw new HttpException(404, "Page not found");

Il runtime di ASP.NET rileverà l'eccezione e si occuperà del redirect alla opportuna pagina per l'errore 404.