我们注意到有几台机器存在带有哈希参数的URL问题。
使用URL调试请求时:
http://domain.com/Entity(%23{number-here}
我们在Application_BeginRequest
文件的global.asax
方法中看到了以下网址:
http://domain.com/Entity(#23{number-here}
中的Url.OriginalString
和Url.LocalPath
中的http://domain.com/Entity(
已Url.Fragment
,哈希后的所有字符都位于Url.OrinalString
。
在运行Windows 8.1和IIS 8.5的计算机上运行完全相同的应用程序时,它按预期工作,http://domain.com/Entity(%23{number-here}
为web.config
。
我在{{1}}或IIS配置中的URL重写部分看不到任何疑问。
这种行为的原因是什么?
答案 0 :(得分:4)
这是System.Web.dll中的一个错误。它已在Windows 8.1上修复,但我们尚未在操作系统的下层版本上推出对System.Web.dll的修复。我们正试图在下一次可靠性更新发布时为所有支持的操作系统修复.NET 4.5.x.
答案 1 :(得分:0)
这是旧操作系统的解决方法,直到错误修复被移植回来。如果您可以轻松更改URL,请在查询字符串参数中添加可能包含哈希的术语,例如
http://domain.com/?entity=Entity(#23{number-here}