【发布时间】:2016-02-19 13:57:56
【问题描述】:
我在本地从 .net MVC 应用程序取回请求的数据的问题为零,但在服务器上,ajax jquery 调用报告了 500 错误。通常,我可以在本地单步执行代码并找出“可能”导致服务器上出现 500 错误的原因。
这一次我意识到我真的需要一个更好的编码策略来捕获错误并将它们记录下来或报告给我
public ActionResult PhotoList(int tblGateCode_ID)
{
try
{
context = new DBGate();
var images = context.tblGateCodeImages.Where(x => x.tblGateCode_ID == tblGateCode_ID);
foreach (var img in images)
{
img.GatePhoto = null;
}
ViewModel viewModel = new ViewModel
{
GateCodeImageList = images.ToList()
};
return Json(viewModel, "application/json", JsonRequestBehavior.AllowGet);
}
catch (Exception e)
{
//??
}
}
}
更新:
我确实尝试将代码添加到我的 catch 中
catch (Exception e)
{
return Json(e.Message, "application/json", JsonRequestBehavior.AllowGet);
}
要么我不被允许这样做......要么我仍然得到 500 的其他原因?
Failed to load resource: the server responded with a status of 500 (Internal Server Error)
【问题讨论】:
-
您可以使用浏览器工具(网络选项卡)检查响应并查看错误的更多详细信息
-
响应不够好,我想做的只是将异常传回。所以我想e.Message
-
您对服务器有多少访问权限?如果您可以查看事件日志,则可以将 exception.message 写入事件日志以帮助调试。 support.microsoft.com/en-us/kb/307024
-
我碰巧可以访问此服务器 - 将异常消息传递回调用者会非常好 - 让我与 console.log 一起使用
-
真正奇怪的是,即使我将 json 返回更改为只传回一个空的视图模型,我仍然会收到 500 错误。就像 try /catch 甚至没有真正起作用 IMO
标签: jquery asp.net-mvc asp.net-web-api error-handling