Маршрутизация MVC3 не работает после развертывания на IIS7.5

#c# #iis #asp.net-mvc-3

#c# #iis #asp.net-mvc-3

Вопрос:

После создания проекта веб-приложения в VS2010, добавления маршрута маршрутизации и запуска в режиме отладки маршрутизация, похоже, работает должным образом, и у меня нет проблем.

Но когда я попытался развернуть его на IIS7.5 на своем локальном компьютере и попытался щелкнуть ссылку, использующую маршрутизацию, она выдает: «Ошибка HTTP 404.0 — Не найден, ресурс, который вы ищете, был удален, его имя изменено или временно недоступен».

Кто-нибудь сталкивался с такой же проблемой?

Комментарии:

1. Можете ли вы опубликовать какой-нибудь пример кода?

2. @czetsuya, у меня тоже эта проблема, и я весь день рвал на себе волосы, не находя решения на сайте.

Ответ №1:

Похоже, вам не хватает модуля для маршрутизации URL.

  1. Перейдите на сайт в IIS
  2. Нажмите на Модули
  3. Найдите модуль типа System.Web.Routing.UrlRoutingModule (в моем IIS имя UrlRoutingModule-4.0)
  4. Если вы не можете найти его, нажмите «Добавить управляемый модуль» и вставьте информацию на последнем шаге. Также установите флажок.

Я надеюсь, что это поможет. Если проблема не в этом, проверьте, работаете ли вы в интегрированном режиме (посмотрите на пул приложений для этого приложения).

Комментарии:

1. Спасибо за ответ, теперь это работает, я удалил и создал новый виртуальный каталог, но не в интегрированном режиме. Не совсем уверен, что я сделал не так с первой попытки.

2. У меня такая же проблема, но у меня установлен модуль маршрутизации. Мне не нужно было ее устанавливать, она всегда была там.

3. Это не было установлено по умолчанию в IIS 8 в Windows 2012.

Ответ №2:

Я смог решить эту проблему и документировать, как я это сделал, здесь:

http://czetsuya-tech.blogspot.com/2011/06/how-to-deploy-mvc3-powered-website-to.html