2009-08-20 4 views
3

Мне просто интересно, если вы создаете новое приложение ASP.NET для веб-форм в ASP.NET 3.5, которое вы бы рекомендовали для перезаписи URL? UrlRewriter.NET или ASP.NET MVC Routing. Раньше я использовал UrlRewriter.NET и был доволен этим.URL-адрес переписывания с UrlRewriter.Net, ASP.NET MVC Routing или что вы рекомендуете?

Мнения никому?

ответ

2

Маршрутизация значительно превосходит ИМХО. Вместо того, чтобы притворяться (переписывать URL-адреса, чтобы сохранить типы SEO счастливыми), вы делаете это (делая реальные URL-адреса, чтобы поддерживать типы SEO счастливыми). Другим огромным преимуществом является то, что маршрутизация обратима - вы можете легко получить URL-адрес из параметров, что очень удобно.


Нет, они делают очень разные вещи. Переписывание URL-адресов принимает входящий URL-адрес и перезаписывает его перед передачей запроса на обработку ASP.NET (или IIS). Маршрутизация URL-адресов берет URL-адрес в ASP.NET и отображает обработчик с использованием параметров, найденных в URL-адресе. Сам Url никогда не меняется.

+0

@Wyatt, что значит подделка? Я думал, что они сделали то же самое. – nickytonline

+0

Я попробую маршрут и посмотрю, как она идет. Благодарю. – nickytonline

2

Использование UrlRewriter.NET - он был создан для веб-форм, и у вас уже есть опыт работы с ним и нравится. Маршрутизация ASP.NET MVC предназначена для работы с шаблоном MVC.

+0

@Andrew. Я знаю, что он был создан для ASP.NET MVC, но я прочитал пару статей, в которых вы можете использовать механизм маршрутизации, поэтому я и спрашивал. Просто любопытно, есть ли у кого-нибудь опыт использования его в веб-формах, и если это было хорошо. – nickytonline

1

Если вы используете IIS7, перейдите к URL Rewrite Module.

Я использовал его для одного из моих сайтов, и он отлично работал.

0

ASP.NET 4.0 веб-формы (я считаю, что он был введен в 3.5 SP1) имеет встроенную маршрутизацию. Он имеет преимущество перед переписыванием модулей, которые он встроен изначально в рамках ASP.NET, и поэтому не требует, чтобы хаки работали правильно.

Так что вы не должны идти на MVC только из-за маршрутизации.

1

Почему бы просто не пойти с Asp.Net MVC и вообще отказаться от методологии веб-формы? Я понимаю, что структура не для всех, особенно для ранее существовавших проектов, но если вы начинаете разрабатывать новое приложение и покупаете механизм маршрутизации, почему бы не пойти на рамки, основанные на понятии?

Asp.Net MVC - это значительно более совершенная инфраструктура по сравнению с WebForms, она просто требует немного более эффективной работы и имеет кривую обучения. В конце концов, однако, вы, как правило, получаете приложение, которое гораздо проще расширять и поддерживать.