我的团队正在从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)。
有什么想法吗?提前谢谢!
答案 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