什么解码我编码的哈希符号(%23)?

时间:2014-02-06 07:55:43

标签: c# asp.net iis hash character-encoding

我们注意到有几台机器存在带有哈希参数的URL问题。

使用URL调试请求时:
http://domain.com/Entity(%23{number-here}

我们在Application_BeginRequest文件的global.asax方法中看到了以下网址: http://domain.com/Entity(#23{number-here}中的Url.OriginalStringUrl.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重写部分看不到任何疑问。

这种行为的原因是什么?

2 个答案:

答案 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}