AutoFac가있는 ASP.NET MVC- 사용자 정의 오류 메시지가 사라졌습니다
-
20-09-2019 - |
문제
내 사용자 지정 오류 메시지가 길을 따라 어딘가에서 작동하지 않으면이 오류가 발생합니다. 어떤 아이디어?
autofac.componentNotRegisteredException : 요청 된 서비스 'Controller.error.aspx'가 등록되지 않았습니다.
나는 이전에 등록하기 위해 아무것도 한 적이 없습니다.
사용자 정의 오류 메시지에 대한 몇 가지 질문을 보았지만 해당 응답에서 언급 된 다른 잘못된 것을 찾을 수 없었습니다.
편집 : 나는 web.config에서 "on"과 "remoteonly"를 시도했습니다. 공유 폴더에 error.aspx가 있습니다. [ErrorHandler] 속성을 사용하고 있습니다. 이것은 오랫동안 작동했으며 Global.asax에서 자동 변형 구성을 변경했을 때 작동을 그만 두었을 것입니다. 등록되지 않은 서비스에 대한 오류 메시지는 오류가 작동하지 동시에 시작되었습니다. AutoFac에 이것을 등록하는 방법을 모르겠습니다.
해결책
Nicholas Blumhardt에게 감사의 말을 전합니다 Autofac 포럼 그리고 그의 벤 홀 블로그 게시물. web.config의 페이지 태그에 몇 가지 속성을 추가하고 Controls 섹션의 MVC 태그를 추가해야했습니다. 이 정보는 Web.config에 없었기 때문에 앱의 동작이 왜 바뀌 었는지 모르겠습니다. 그러나 그것은 효과가있었습니다!
<pages
pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
pageBaseType="System.Web.Mvc.ViewPage, System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
userControlBaseType="System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<controls>
<add tagPrefix="mvc" namespace="System.Web.Mvc" assembly="System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
</controls>
</pages>
편집 : 이것에 대해 더 생각하면 MVC DLL을 내 프로젝트에 복사 할 때 오류 페이지가 작동을 중단했을 것 같습니다. 서버에 MVC를 설치할 수 없기 때문에이 앱으로 MVC를 DLL 배포해야했습니다.