我刚将ASP.NET应用程序从.NET 3.5升级到4.0,并发现请求默认文档时Request.RawURL设置为“/” default.aspx,通过http://mysite.com/。在.NET 3.5中,Request.RawURL将被设置为“/default.aspx”。Request.RawURL未在应用程序根目录下设置为default.aspx
有没有办法在4.0中启用这个.NET 3.5行为?
我曾尝试通过注册表禁用无扩展名的URL。我还浏览了ASP.NET 4.0 Breaking Changes文档,并设置了表单标记操作属性,但是查看页面的源代码显示为action属性设置的值未被拾取并正在恢复为“/”。
目前运行在IIS 7.5集成模式和Win7上。
RawUrl在应用程序的一些地方使用,所以他们只需要一点点改变就可以工作。我希望这些问题是相关的,并且可以修复RawUrl以及正确设置action属性。未设置action属性的主要问题是事件处理程序未被引发。我可以解决这个问题,如[这个问题]中提到的(http://stackoverflow.com/questions/8995557/how-to-set-form-action-attribute),但我觉得这不是最好的解决方案。 – Andrew
我认为你的问题的答案就在这里突破变化文件:http://www.asp.net/whitepapers/aspnet4/breaking-changes#0.1__Toc256770154 –
我读过,正如我的文章中提到的。建议的更改不能解决问题。 – Andrew