2012-01-15 152 views
1

我在项目中使用jqgrid。 并且需要知道如何在网络服务器上返回/设置错误响应以允许自定义消息。从服务器发送动态错误/失败结果信息

在我的本地实例中,我得到以下结果。 Local

但是在我们网站服务器上的部署站点上,邮件被取消并被默认邮件取代。 Server

值得一提的是,我通过将响应状态代码设置为500并将描述设置为我的自定义消息来返回错误/失败结果。 (有没有更好的方法来做到这一点)

此外,我添加/修改了以下配置值。

<customErrors mode="On" /> 

<system.webServer> 
     <httpErrors errorMode="Custom" > 
     <remove statusCode="500" /> 
     </httpErrors> 
</system.webServer> 

有没有人知道我做错了什么?或如何得到它的工作:P

回答

0

其更好的方法我找到了解决办法。之前我我的web.config更新

<system.webServer> 
     <httpErrors errorMode="Custom" > 
     <remove statusCode="500" /> 
     </httpErrors> 
</system.webServer> 

它被设置为(这可以解释为什么我遇到的问题摆在首位,因为我是从远程源访问该网站)

<system.webServer> 
     <httpErrors errorMode="DetailedLocalOnly" /> 
</system.webServer> 

将其更改为以下内容

<system.webServer> 
      <httpErrors errorMode="Detailed" /> 
</system.webServer> 

并执行穆罕默德·穆达西尔的建议,似乎有伎俩。

1

请试试这个,为Custom Error Handling

+0

我实施了此修复程序,确定了更好的错误处理方式,但我仍然遇到同样的问题。状态码被设置为500,并且自定义消息被取消并被默认错误消息取代 – 2012-01-16 06:40:41

+0

似乎你的动作过滤器事件没有执行,或者在它之前处理异常(例如,在Global.asax的Application_error事件中)或另一个异常在操作过滤器后出现,请验证。 – 2012-01-16 09:35:09

+0

正在执行......但我只注意到全局中的这条线。 public static void RegisterGlobalFilters(GlobalFilterCollection filters) filters.Add(new HandleErrorAttribute()); } 现在将它删除,看它是否覆盖了自定义错误属性 – 2012-01-18 10:33:58