ASP.NET MVC с AUTOFAC - исчезли пользовательские сообщения об ошибках - PullRequest
0 голосов
/ 30 августа 2009

Мои сообщения об ошибках перестали работать, и я получаю эту ошибку. Есть идеи?

Autofac.ComponentNotRegisteredException: запрошенная служба 'controller.error.aspx' не была зарегистрирована.

Я никогда ничего не делал, чтобы зарегистрировать их раньше.

Я видел несколько вопросов о пользовательских сообщениях об ошибках, но не смог найти ничего другого, что было упомянуто в этих ответах.

EDIT: Я пробовал "On" и "RemoteOnly" в web.config. У меня есть Error.aspx в папке Shared. Я использую атрибут [ErrorHandler]. Это работало долгое время и, вероятно, перестало работать, когда я внес некоторые изменения в конфигурацию Autofac в Global.asax. Сообщение об ошибке о том, что служба не зарегистрирована, началось одновременно с тем, что ошибки перестали работать. Я не знаю, как зарегистрировать это в Autofac.

1 Ответ

0 голосов
/ 06 сентября 2009

Спасибо Николасу Блюмхардту за помощь на форуме Autofac и Бену Холлу за его сообщение в блоге . Мне пришлось добавить некоторые атрибуты к тегу страницы в web.config и тегу 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 на сервер.

...