Ресурс не найден в asp.net mvc AsyncController - PullRequest
1 голос
/ 20 июля 2010

Я только что преобразовал свой контроллер в asyncController в asp.net mvc 2. (т.е. разделение метода действия About на AboutAsync и AboutCompleted) Тем не менее, я получаю ресурс не найдена ошибка.

Моя таблица маршрутов не изменилась, и единственная причина, о которой я могу думать, это то, что я mvcextension проект. Так как он выполняет собственную проводку controllerFactory и создает экземпляр из контейнера IoC, нужно ли ему хорошо подключить AsyncHttpHandler? Кто-нибудь может дать несколько подсказок?

Заранее спасибо.

1 Ответ

5 голосов
/ 20 июля 2010

Несколько замечаний о том, что нужно проверять, по порядку:

  • Убедитесь, что ваш контроллер является подклассом AsyncController, а не просто Controller.
  • URL-адрес для нажатия HomeController :: AboutAsync () / AboutCompleted () должно быть / Home / About ( Async не является частью URL-адреса)
  • Если вы используете собственный вызывающий объект, он должен иметь подкласс AsyncControllerActionInvoker (или реализоватьIAsyncControllerActionInvoker), а не непосредственно подкласс ControllerActionInvoker
  • Убедитесь, что вы подключаете MvcRouteHandler к маршрутизации (что должно быть поведением по умолчанию MapRoute).Если вы используете пользовательский IRouteHandler, убедитесь, что его метод GetHttpHandler () возвращает MvcHandler.(Примечание - вы не должны создавать подкласс MvcHandler.)
...