首页 > 代码库 > 在服务器上处理请求时出现未知错误。服务器返回的状态码为500

在服务器上处理请求时出现未知错误。服务器返回的状态码为500

操作方法:

为页面的ScriptManager控件添加EnablePartialRendering="false"的属性  此方法不是直接解决或规避问题的,是为了将详细的页面错误显示出来,以便找到需要修正

的地方,个人觉得这才是正道嘛,不能躲避错误,而应尽量不让错误发生。 ---》 找出错误  -- 》 修改。

   <asp:ScriptManager ID="ScriptManager" runat="server" EnablePartialRendering="false">
    </asp:ScriptManager>

 弹出如下错误提示:

从客户端(originalTile_Service="...:值班长

<warningType>家客</war...")中检测到有潜在危险的 Request.Form 值。

 

从 .Net Framework 4.0 开始,asp.net开始强制检测

Request参数安全,而我们可以通过修改 Web.config 来恢复 2.0 版本的模式。

方法如下:

修改Web.config,增加requestValidationMode="2.0"属性值

 <system.web>   <httpRuntime requestValidationMode="2.0" />  

 <pages validateRequest="false"></pages>  </system.web>

4.0 中多了一个 requestValidationMode,这是什么意思呢?

requestValidationMode 有两个值:

?2.0仅对网页启用请求验证。是启用还是关闭取决于 validateRequest。

?4.0 默认值。任何 HTTP 请求都会启用请求验证,也就是说不光是网页,还包括 Cookie 等

。此时强制启用,不管 validateRequest 为何值。

由于 requestValidationMode="4.0" 是强制启用,所以我们会发现在 .NET Framework 4.0

中仅靠设置 validateRequest 是关闭不了请求验证的,还得将 requestValidationMode 设置

为 2.0。