我有一个在VS 2008中开发的ASP.NET Web应用程序(webforms,而不是MVC),我已经通过以下链接实现了ASP.NET Web表单URL路由 http://www.4guysfromrolla.com/articles/051309-1.aspx#postadlink
当我在Visual studion IDE上运行它时它工作得很好。但是当我在我的IIS(在XP中的IIS 5.1)下创建一个站点并在那里部署相同的文件时,它不起作用。我将ASP.NET版本设置为在我的应用程序的属性窗口中也是2.0。但是不起作用。知道为什么? 还有什么要设置的吗?提前致谢
答案 0 :(得分:3)
尝试使用“使用带有不同版本的IIS的ASP.NET MVC”中的以下内容@ http://www.asp.net/%28S%28ywiyuluxr3qb2dfva1z5lgeg%29%29/learn/mvc/tutorial-08-cs.aspx
创建通配符脚本地图
如果您不想修改ASP.NET MVC应用程序的URL,并且可以访问Web服务器,则可以选择其他选项。您可以创建一个通配符脚本映射,将Web服务器的所有请求映射到ASP.NET框架。这样,您可以使用IIS 7.0(在经典模式下)或IIS 6.0中的默认ASP.NET MVC路由表。
请注意,此选项会导致IIS拦截对Web服务器发出的每个请求。这包括对图像,经典ASP页面和HTML页面的请求。因此,启用通配符脚本映射到ASP.NET确实会影响性能。
按照以下步骤使用IIS 6.0创建通配符脚本映射:
1.右键单击网站,然后选择属性
2.选择主目录选项卡
3.单击配置按钮
4.选择Mappings选项卡
5.单击“插入”按钮(参见图4)
6.将aspnet_isapi.dll的路径粘贴到Executable字段中(您可以从.aspx文件的脚本映射中复制此路径)
7.在“扩展”字段中填写“。*”
8.取消选中标记为验证文件存在的复选框
9.单击确定按钮
答案 1 :(得分:1)
答案 2 :(得分:0)
您是尝试重写特定的文件扩展名,还是尝试路由所有请求?
我问的原因是因为您在IIS 5.1上可能没有成功使用通配符路由。
如果为ASP.NET ISAPI筛选器指定通配符映射,则它适用于IIS6。 Link with more info
IIS7通过集成管道支持此功能。