Ricerca…


introduzione

Ogni sito web deve gestire gli errori. Puoi lasciare che i tuoi utenti visualizzino le pagine di errore 404 o 500 che IIS utilizza, oppure, utilizzando il Web.Config e un semplice controller, puoi catturare questi errori e pubblicare le tue pagine di errore personalizzate.

Impostazione di base

Questo esempio coprirà la creazione di una pagina di errore personalizzata per 404 Page Not Found e 500 Server Error. È possibile estendere questo codice per acquisire qualsiasi codice di errore necessario.

web.Config

Se si utilizza IIS7 e versioni successive, ignorare il nodo <CustomError.. e utilizzare <httpErrors... invece.

Aggiungere quanto segue nel nodo system.webServer :

<httpErrors errorMode="Custom" existingResponse="Replace">
    <remove statusCode="404" />
    <remove statusCode="500" />
    <error statusCode="404" path="/error/notfound" responseMode="ExecuteURL" />
    <error statusCode="500" path="/error/servererror" responseMode="ExecuteURL" />
 </httpErrors>

Questo dice al sito di indirizzare qualsiasi errore 404 a ~/error/notfound e qualsiasi errore 500 a ~/error/servererror . Conserverà anche l'URL richiesto (pensa al trasferimento piuttosto che al reindirizzamento ) in modo che l'utente non veda mai l'URL della pagina ~/error/...

Quindi, è necessario un nuovo controller degli Error quindi ...

public class ErrorController : Controller
{
    public ActionResult servererror()
    {
        Response.TrySkipIisCustomErrors = true;
        Response.StatusCode = (int)HttpStatusCode.InternalServerError;
        return View();
    }

    public ActionResult notfound()
    {
        Response.TrySkipIisCustomErrors = true;
        Response.StatusCode = (int)HttpStatusCode.NotFound;
        return View();
    }

} 

La cosa fondamentale da notare qui è Response.TrySkipIisCustomErrors = true; . Ciò aggirerà IIS e forzerà la tua pagina di errore.

Infine, crea le corrispondenti NotFound e NotFound e ServerError in modo che siano tutte gradevoli e senza problemi con il design del tuo sito.

Ciao, pagine di errore personalizzate.



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow