Ste*_*ven 3 json elmah asp.net-mvc-3
我有一个ASP.NET MVC 3应用程序,我正在进行AJAX调用并期待返回JSON结果.我正在使用ELMAH来记录错误.在测试时我遇到了意外错误.ELMAH记录了错误,但我的客户端脚本没有记录,因为现在结果不是正确的JSON.如果我处理控制器中的所有错误以返回正确的JSON结果,则ELMAH不会记录错误.我知道我可以专门调用ELMAH来记录错误,但我更喜欢我不必在其他任何地方这样做.
任何人都可以澄清处理这种情况的"正确"方法吗?
例如
try
{
//service.dosomethingwitherror();
return new JsonResult { Data = new { result = true, message = "Success." } };
}
catch (Exception ex)
{
return new JsonResult { Data = new { result = true, message = "Failed." } };
}
Run Code Online (Sandbox Code Playgroud)
因为我'处理'这个,所以ELMAH不会记录.如果我不处理这个,我的客户端将无法获得JSON ...
您可以使用ErrorSignal类手动记录.这将执行所有已配置的elmah操作(日志,邮件,推文等).
ErrorSignal.FromCurrentContext().Raise(new NotSupportedException());
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请参阅http://code.google.com/p/elmah/wiki/DotNetSlackersArticle#Signaling_errors.
如果您真的不喜欢将该代码添加到控制器中,则无法捕获异常服务器端并在javascript中处理ajax错误事件.
| 归档时间: |
|
| 查看次数: |
1300 次 |
| 最近记录: |