【发布时间】:2011-09-01 20:37:44
【问题描述】:
我有一个应用程序应该接受来自 Salesforce 的不安全字符。它们是 %0A 和 %0D(到目前为止...),它们不工作。
我已将allowDoubleEscaping 设置为true,requestValidationMode 设置为2.0,requestPathInvalidCharacters 设置为BLANK,relaxedUrlToFileSystemMapping 设置为true,maxRequestLength 设置为1024。 >
没有用。然后我尝试为 400 设置一个自定义错误以重定向到同一页面,而不传递 Salesforce 正在发送的数据。也没用。
然后我尝试通过 IIS 7 错误页面部分执行相同的操作,但仍然无法正常工作。
我该怎么做:
- 让应用接受字符?
- 还是让应用/IIS 重定向到同一页面进行手动输入?
所有这些都在一个 ASP.NET MVC 3 应用程序中,但我怀疑这是否重要,因为它可能是 IIS 在它甚至调用 ASP.NET 运行时之前停止它。
我将不胜感激。提前致谢!
【问题讨论】:
-
错误来自 ASP.NET 还是 IIS?您通常可以区分,ASP.NET 有 YSOD(黄屏死机),IIS 7 看起来......不同。
-
IIS 可能,它是白色的,并显示“错误请求 {HR} HTTP 错误 400。请求 URL 无效。”
-
@Alex 你有没有找到解决这个问题的方法?我在 URL 中遇到了与 %0A 和 %0D 完全相同的问题。
-
@Geekman,我做到了,但是已经很久了,我不确定答案是什么。无论如何,我在 Web.config 中有
requestPathInvalidCharacters="<,>,*,&,:,\"和relaxedUrlToFileSystemMapping="true"。我还在 IIS 中的请求过滤 > 编辑功能设置下启用了Allow Double Escaping。你可以看看它是否是这些设置之一,但就像我说的,我不记得是什么让它起作用了。 -
@Alex,你上面列出的一切都不适合我。可能你还记得别的吗?
标签: asp.net asp.net-mvc asp.net-mvc-3 iis iis-7