내 ASP.NET MVC 3 응용 프로그램이 두 가지 작업이있는 Errors
컨트롤러로 리디렉션 구성되어 - 내가 가지고있는ASP.NET MVC3는 여전히 내 자신도 지정에도 불구하고 Error.aspx로/.cshtml을 찾습니다
<customErrors mode="On" defaultRedirect="/Errors/ApplicationError">
<error statusCode="404" redirect="/Errors/NotFound" />
</customErrors>
동작 방법 각각에서 렌더링되는 뷰의 커플 :
/Views/Shared/NotFound.cshtml
/Views/Shared/ApplicationError.cshtml
ErrorsController
ApplicationError
행동
내가 다음을 수행하십시오
public ActionResult ApplicationError()
{
Response.StatusCode = 500;
return View();
}
이 작동하고 내 ApplicationError.cshtml
보기가 렌더링, 기록됩니다 일어난 어떤 예외, 모든 좋은.
왜 ASP.NET MVC는 여전히 이러한 전망에 대한 사냥 오류를 처리하고 내 자신의보기가 성공적으로 위치하고 렌더링 된?System.InvalidOperationException 뷰 '오류'또는 마스터를 찾을 수 없습니다 또는 더보기 엔진은 검색 위치를 지원하지 않습니다 :
그러나 ELMAH에 나는이 추가 오류가 기록되고 참조하십시오. 다음 위치가 검색되었습니다. ~/Views/Throw/Error.aspx ~/Views/Throw/Error.ascx ~/Views/Shared/Error.aspx ~/Views/Shared/Error.ascx ~/Views/Throw/Error. 이미했습니다 때 cshtml ~/조회/던지기/Error.vbhtml ~/조회/공유/Error.cshtml ~/뷰/공유/Error.vbhtml는
추가 정보 :
나는
[HandleError]
가 author of ELMAH ATIF하여이 Stack Overflow answer에 기반이되는 this advice에 따라 내가filters.Add(new ElmahHandleErrorAttribute());
와Global.asax.cs
에filters.Add(new HandleErrorAttribute());
대체 어디속성을 사용하지 않는 . 당신이 파생 클래스 (
ElmahHandleErrorAttribute
)로HandleErrorAttribute
를 교체했습니다 있지만
webmatrix에서 업그레이드 했습니까? 아니면 webmatrix 라이브러리에서 업그레이드 했습니까? –
'HandleErrorAttribute'가 전역 적으로 적용되지 않는지 확인하십시오. 'global.asax.cs'에서'RegisterGlobalFilters'를보십시오. – JimmiTh
@AdamTuliper - 이것은 VS2010 Premium이 아닙니다.이 프로젝트는 WebMatrix를 본 적이 없습니다. – Kev