У меня было приложение на основе MVC, которое ранее размещалось на IIS 6. Теперь IIS 6 не поддерживает маршруты URL без расширений по умолчанию, поэтому нам нужно добавить некоторое расширение к имени контроллера в маршруте по умолчанию, определенном как {ControllerName} .aspx {Метод действия} {Id} в IIS6. Кроме того, если мы хотим использовать некоторые другие расширения, такие как .mvc и т. Д., То нам нужно отобразить их, используя такие методы, как групповые сопоставления и т. Д.
Теперь, когда мы перешли на IIS7, тогда поддерживаются URL без расширений, что означает, что там могут быть URL, которые не имеют соответствующего физического местоположения.
Поэтому, когда вы переносите приложение MVC на IIS7, убедитесь, что у маршрута по умолчанию, определенного в Globla.asax, нет расширения, определенного с помощью контроллера, такого как {controller}.aspx\{action method}\{Id}
, и измените его на \clean URL route {Controller}\{Action Method}\{ID(optional)}
.
Во-вторых, вы должны иметь в виду, что режим конвейера AppPool веб-сайта должен быть установлен как «Интегрированный из классического».
Вот и все, теперь ваш сайт готов для размещения на IIS7.