3

ASP.Net MVC 3.0、.NET 4.0、IIS 7

我知道它已经被问过很多次了,但我仍然无法弄清楚它有什么问题。

我只是偶尔收到这些消息(每天不到 1 条),而且我每天的访问量约为 4k。

这是错误报告的链接:
http ://wowreforge.com/elmah.axd/detail?id=6CBE6DCA-88C2-45E7-AF53-A53061B8E25D

(注意有指向 XML 和 JSON 详细报告的链接)

首先要注意的是 URL (PATH) 包含 UTF-8 编码字符: /US/Warsong/Spartan%C3%B6
第二件事,请求是HEAD,而不是GET
我认为这些细节中的任何一个都不应该导致我收到的错误.

原来的网址是:
http ://wowreforge.com/US/Warsong/Spartan%C3%B6?reforge=--52145254126214646464--3214325254&crit=7&dodge=90&exp=19&haste=1&hit=10&mastery=100&parry=67&spi=0

我已经使用 GET 和 HEAD 请求尝试了此 URL,但无法重现该错误。

还有什么我可以戳的吗?

4

1 回答 1

0

请注意PATH_TRANSLATED = E:\web\wowreforgec\htdocs\EU\Kael%27Thas\Acekhor. 在查找磁盘上文件的路径之前,似乎%27未将 URL 编码字符转换为。RequestPathInvalidCharacters属性的默认配置禁止'该字符,因此输入被认为是危险的并引发异常。%

编辑

HttpUtility.UrlDecode (string s)方法应转换/EU/Kael%27Thas/Acekhor/EU/Kael'Thas/Acekhor. 此方法(或类似功能之一)应在虚拟路径解析为物理路径的位置调用。您是否使用自定义方法将虚拟路径转换为物理路径?

于 2011-06-24T13:50:56.567 回答