0

Я только начал играть как с ASP.Net MVC, так и с шаблонами шаблонов динамических данных new-to-VS2008. Я отмечаю, что они используют маршрутизацию в обработке URL-адресов, и мне дано понять, что из-за маршрутизации ASP.Net MVC не будет работать под IIS6. Однако мой сайт DynamicData отлично работает на IIS6.В чем разница между ASP.Net MVC Routing и новой маршрутизацией сайта ASP.Net DynamicData?

Мне пришлось временно отказаться от изучения ASP.Net MVC для предстоящего проекта из-за требования IIS7, и мне интересно, какое существенное различие между ними находится под капотом, то есть что делает сайты DynamicData работать на IIS6 и MVC нет?

ответ

5

ASP.NET MVC действительно работает под управлением IIS6 (и IIS5 в этом отношении) до тех пор, пока вы enable wildcard mappings ASP.NET. Я развернул приложения MVC для производства с использованием IIS6, поэтому я могу гарантировать, что это возможно.

Главное отличие состоит в том, что все URL-адреса в DynamicData заканчиваются в файле с расширением ASPX, поэтому независимо от физического существования запускается время выполнения ASP.NET (поскольку ASPX связан с ASP.NET), тогда как большинство ASP. NET MVC требует не иметь расширения (или иметь расширение MVC, которое не отображается по умолчанию), и поэтому конфигурация IIS требуется, прежде чем она будет работать.

IIS7 работает автоматически, поскольку сам IIS7 управляется, и поэтому между IIS/ASP.NET нет разделения.

0

ASP.Net MVC и динамические данные используют один и тот же механизм маршрутизации, содержащийся в System.Web.Routing, поэтому оба они работают под IIS6. Проблема связана с запросами сопоставления ASP.Net (как описано @Richard Szalay). MVC будет работать нормально под IIS6, если используется сопоставление подстановочных символов, если расширение .mvc сопоставляется с ASP.Net или если другое расширение файла, уже сопоставленное с ASP.Net (.aspx, .ashx, .axd и т. Д.), используется в ваших маршрутах MVC.

1

Все они работают на IIS6 из коробки, без изменения IIS6. Вам просто нужно использовать некоторое расширение, которое сопоставляется с asp.net isapi, например .aspx, .ashx или аналогичным.
Также ASP.NET MVC работает на IIS6 без проблем! Я запускаю его moslty на IIS6, с расширением .html, сопоставленным с asp.net isapi!
Некоторые хостинг-провайдеры готовы внести изменения в IIS6, чтобы поддерживать URL-адреса, не поддерживающие расширение. Если они не хотят этого делать, вы можете попросить их сопоставить .html с asp.net, URL-адреса хороши с этим и дружелюбным к SEO. Просто чтобы упомянуть; Google не будет возражать, если у вас есть .aspx или .html, это то же самое, что и без расширения.