如下图所示,在并发异常上,saveChanges失败函数在错误对象中没有给出详细支柱。
搜索后,发现我需要在web config中将customerrors设置为off。但是在prod服务器或localhost中,没有可用的方法来获取详细信息。 当我深入了解错误道具时,我在内部异常的内部异常中发现了并发异常,但错误obj的详细属性仍未定义。
请告诉我遗漏的一点。
我正在使用带有vsap13的webapi2的mvc app
答案 0 :(得分:0)
您是否可以确保所有实体的属性都已设置,尤其是Id或其他外键字段?
这听起来像是一个抛出的实体框架错误应该在你的屏幕截图中的httpResponse对象中,但更好的解决方案是调试服务器并查看导致它的原因。
您可以检查问题的保存有效负载,或在服务器上设置断点以进一步检查。
答案 1 :(得分:0)
var reason = error.message;
var detail = error.detail;
if (error.entityErrors) {
reason = this.handleSaveValidationError(error);
} else if (detail && detail.ExceptionType &&
detail.ExceptionType.indexOf('OptimisticConcurrencyException') !== -1) {
// Concurrency error
reason =
"Another user, perhaps the server, " +
"may have deleted one or all of the todos." +
" You may have to restart the app.";
} else {
reason = "Failed to save changes: " + reason +
" You may have to restart the app.";
}
这是我在savechanges之后从服务器获得的响应