asp.net-mvc
Manejo de errores Http
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.