1

我的团队正在从 ASP.NET 3.5 升级到 ASP.NET 4.0。我们目前正在使用 Helicon ISAPI Rewrite 映射http://localhost/<account-name>/default.aspxhttp://localhost/<virtual-directory>/default.aspx?AccountName=<account-name>where<account-name>是查询字符串变量并且<virtual-directory>是虚拟目录(自然)。

在升级之前,波浪号 (~) 解析为http://localhost/<account-name>/...(我希望它这样做),升级后波浪号解析为http://localhost/<virtual-directory>/...导致错误,因为<account-name>需要查询字符串。

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

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

有任何想法吗?提前致谢!

4

1 回答 1

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

于 2010-06-14T20:39:06.660 回答