В чем разница между маршрутизацией ASP.Net MVC и новой маршрутизацией сайта ASP.Net DynamicData? - PullRequest
0 голосов
/ 03 октября 2008

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

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

Ответы [ 3 ]

5 голосов
/ 04 октября 2008

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

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

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

1 голос
/ 06 октября 2008

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

0 голосов
/ 05 октября 2008

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

...