Ведение пути перезаписи ISAPI с тильдой ASP.NET (~)

Моя команда обновляется с ASP.NET 3.5 до ASP.NET 4.0. В настоящее время мы используем Helicon ISAPI Rewrite для сопоставления http://localhost/<account-name>/default.aspx в http://localhost/<virtual-directory>/default.aspx?AccountName=<account-name> где <account-name> переменная строки запроса и <virtual-directory> это виртуальный каталог (естественно).

Перед обновлением тильда (~) разрешена до http://localhost/<account-name>/... (что я хочу это сделать) и после обновления тильда разрешается http://localhost/<virtual-directory>/... что приводит к ошибке, потому что <account-name> Строка запроса обязательна.

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

Для чего я использую IIS7 в Windows 7, Visual Studio 2010 с ASP.NET 4.0 и 64-битную версию Helicon ISAPI Rewrite. Если я переключаюсь обратно на версию ASP.NET 3.5, то она все равно работает нормально (что заставляет меня поверить, что в IIS ничего не изменилось, если только оно не входит в пул приложений 4.0 - когда я переключаюсь между 3.5 и 4.0, мне приходится менять пул приложений в IIS).

Есть идеи? Заранее спасибо!

1 ответ

Решение

IIS 7 имеет достойную поддержку перенаправления http. так что вам больше не нужно использовать этот фильтр ISAPI

http://technet.microsoft.com/en-us/library/cc732969(WS.10).aspx

Другой способ использования ISAPI - использовать перенаправление модуля HTTP.

http://weblogs.asp.net/fmarguerie/archive/2004/11/18/265719.aspx

Другие вопросы по тегам