使用ASP.NET代字号维护ISAPI重写路径(〜)

时间:2010-06-14 20:32:18

标签: asp.net iis .net-4.0 isapi-rewrite tilde

我的团队正在从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>/...,这会导致错误,因为{{1}查询字符串是必需的。

我想避免使用相对路径替换所有内容,因为我们的系统中有多个功能使用整个URL而不仅仅是相对路径。

值得我在Windows 7中使用IIS7,使用ASP.NET 4.0的Visual Studio 2010和64位Helicon ISAPI重写。如果我切换回ASP.NET 3.5版本,它仍然可以正常工作(让我相信在IIS中没有任何变化,除非它在4.0应用程序池中 - 当我在3.5和4.0之间来回切换时我必须更改应用程序池在IIS)。

有什么想法吗?提前谢谢!

1 个答案:

答案 0 :(得分: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