asp.net-mvc
HTTP 오류 처리
수색…
소개
모든 웹 사이트는 오류를 처리해야합니다. 사용자가 IIS에서 처리하는 재고 404 또는 500 오류 페이지를 보도록하거나 Web.Config 및 간단한 컨트롤러를 사용하여 이러한 오류를 캡처하고 사용자 정의 오류 페이지를 제공 할 수 있습니다.
기본 설정
이 예에서는 404 페이지를 찾을 수 없음 및 500 서버 오류에 대한 사용자 정의 오류 페이지 작성에 대해 설명합니다. 이 코드를 확장하여 필요한 오류 코드를 캡처 할 수 있습니다.
Web.Config
IIS7 이상을 사용하는 경우 <CustomError..
노드를 무시하고 대신 <httpErrors...
사용하십시오.
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>
이것은 404 에러를 ~/error/notfound
~/error/servererror
500 에러는 ~/error/servererror
도록 사이트에 알려줍니다. 또한 사용자가 ~/error/...
페이지 URL을 결코 볼 수 없도록 요청 된 URL을 유지합니다 ( 리디렉션이 아닌 전송 이라고 생각 함).
다음으로 새로운 Error
컨트롤러가 필요합니다.
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();
}
}
여기서 주목해야 할 중요한 것은 Response.TrySkipIisCustomErrors = true;
. 이것은 IIS를 우회하여 오류 페이지를 강제합니다.
마지막으로 해당 NotFound
및 ServerError
보기를 작성하고 스타일을 지정하여 사이트의 디자인과 완벽하게 매끄럽게 작성하십시오.
안녕하세요 presto - 사용자 정의 오류 페이지.