Для чего вы используете программу перезаписи URL ASP.Net?[закрыто]

StackOverflow https://stackoverflow.com/questions/14697

Вопрос

Я просмотрел несколько программ для перезаписи URL-адресов для ASP.Net и IIS, и мне было интересно, что используют все остальные и почему.

Вот те, которые я использовал или просмотрел:

  • UrlRewriter громовержца:использованный в предыдущем проекте, он не обладал той гибкостью и производительностью, которые мы искали
  • Ewal UrlMapper для отображения URL -адресов:используется в текущем проекте, но исходный код, похоже, заброшен
  • UrlRewritingNet.URLRewrite:кажется, неплохая библиотека, но плохая грамматика документации вызывает у меня чувство неловкости
  • UrlRewriter.NET:это мой текущий фаворит, обладает большой гибкостью, хотя дополнительные функции, добавленные в заменяющие регулярные выражения, меняют стандарт.Чистый синтаксис регулярных выражений немного
  • Управляемый Рерайтер URL-адресов Fusion:Я нашел это в предыдущий вопрос в stack overflow, но я еще не пробовал его, судя по синтаксису примера, он, похоже, недоступен для редактирования через web.config
Это было полезно?

Решение

+ 1 UrlRewritingNET.URLRewrite - используется в нескольких сотнях сервисов / порталов / сайтов в одном окне без проблем в течение многих лет!(@Jason - это тот, о ком ты говоришь, верно?)

и я также использовал UrlRewriter.NET на личном сайте, и нашел это, ах, интересным.@трэвис, ты прав насчет измененного синтаксиса, но как только ты к нему привыкнешь, он станет хорошим.

Другие советы

Есть System.Web.Routing, который только что был выпущен с .NET 3.5.

Вы можете просто использовать Request.RewritePath() в пользовательском HttpModule

Я предпочитаю использовать реализацию IHttpHandlerFactory и иметь полный контроль над всеми входящими URL-адресами и тем, куда они сопоставлены.

Если бы я начинал новый веб-проект сейчас, я бы рассматривал возможность использования MVC с нуля.Это использует переписанные URL-адреса в качестве стандарта.

IIS 7 имеет Модуль Перезаписи URL-адресов это достаточно эффективно и хорошо интегрируется с IIS.

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

У меня был хороший опыт работы с Фильтр перезаписи ISAPI от Ionic который очень похож на ISAPI_Rewrite, за исключением бесплатного.Оба созданы по образцу mod_rewrite и являются фильтрами ISAPI, поэтому вы не можете управлять ими в коде, так как вам нужно настроить их в IIS.

Я бы не рекомендовал UrlRewritingNet, если вы находитесь в среде IIS7 Windows 2008.

Причина:UrlRewritingNet требует, чтобы у вас режим пула приложений был классическим и НЕ интегрировался.Это не оптимально Кроме того, их проект кажется очень мертвым за последние 2 года.

Я только что установил Переписать ISAPI Геликона 3.Работает точно так же, как htaccess.Пока что я в этом разбираюсь.

Я использовал Переписчик URL-адресов .NET и обратный прокси-сервер с большим успехом.Он почти на одном уровне с mod_rewrite и использует почти весь тот же синтаксис.Владелец проекта чрезвычайно предупредителен и дружелюбен, а продукт отлично работает.Этот драгоценный камень обеспечивает как перезапись, так и функциональность прокси-сервера, чего нет во многих решениях.ИМО, стоит посмотреть.

+1 для UrlRewritingNet.URLRewrite тоже, но почему мне всегда нужно заканчивать свой URL на .aspx?Я думаю, что это должно быть улучшено с помощью регулярного выражения partern.

Почему я всегда должен заканчиваться на aspx в virtualURL localhost/Products/Beverages.aspx", "localhost/Products/ Condiments.aspx".Я просто хочу ввести localhost /Products / Beverages", "localhost / Products / Condiments", которые выглядят как маршрут MVC.

Это один выглядит хорошо, но он не работает для моего сайта.Я все еще не могу этого понять.

asp.net маршрутизация также удовлетворяет требованию переписывания URL-адресов и даже в гораздо большей степени, чем.С помощью asp.net маршрутизации вы можете не просто "переписать URL", но и создавать пользовательские обработчики для различных запросов.asp.net однако для маршрутизации требуется как минимум asp.net пакет обновления 1.

Основное, что вы делаете для работы простой маршрутизации, - это добавляете несколько обработчиков маршрутов в Application_Start даже внутри файла Global.asax.cs.

 protected void Application_Start(object sender, EventArgs e)
        {

                        RegisterRoutes(RouteTable.Routes);


        }
        private static void RegisterRoutes(RouteCollection routes)
        {          

            routes.Add("Routing1", new Route("/Blog/id/2","/Blog.aspx"));

        }
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top