Buscar..


Introducción

Cada sitio web necesita para manejar los errores. Puede permitir que sus usuarios vean las páginas de error 404 o 500 que IIS distribuye o, utilizando el Web.Config y un simple Controlador, puede capturar estos errores y entregar sus propias páginas de error personalizadas.

Configuración básica

Este ejemplo cubrirá la creación de una página de error personalizada para 404 Página no encontrada y 500 Error de servidor. Puede extender este código para capturar cualquier código de error que necesite.

Web.Config

Si está utilizando IIS7 y superior, ignore el nodo <CustomError.. y use <httpErrors... lugar.

Agregue lo siguiente en el 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>

Esto le indica al sitio que dirija cualquier error 404 a ~/error/notfound y cualquier error 500 a ~/error/servererror . También conservará la URL solicitada (piense en transferir en lugar de redirigir ) para que el usuario nunca vea la URL de la página ~/error/...

A continuación, necesita un nuevo controlador de Error así que ...

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 clave a tener en cuenta aquí es el Response.TrySkipIisCustomErrors = true; . Esto evitará IIS y forzará su página de error.

Por último, cree las NotFound correspondientes de NotFound y NotFound y ServerError estilo para que todo esté bien y sin problemas con el diseño de tu sitio.

Hola presto - páginas de error personalizadas.



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow