Ведение пути перезаписи ISAPI с тильдой ASP.NET (~) - PullRequest
1 голос
/ 15 июня 2010

Моя команда обновляется с 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 Ответ

1 голос
/ 15 июня 2010

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

...