我正在嘗試執行ToDo示例,並在嘗試併發處理時遇到了未處理的對話。併發/待辦事務示例不起作用
的dataservice.js包含saveFailed(error)
方法,這些行:
if (detail && detail.ExceptionType.indexOf('OptimisticConcurrencyException') !== -1) {
// Concurrency error
reason =
"Another user, perhaps the server, may have deleted one or all of the todos.";
manager.rejectChanges(); // DEMO ONLY: discard all pending changes
}
客戶從來沒有得到這一點由於未處理OptimisticConcurrencyException在:
[HttpPost]
public SaveResult SaveChanges(JObject saveBundle) {
return _contextProvider.SaveChanges(saveBundle);
}
我試圖抓住這一點,返回異常,這是一種愚蠢的異常不是SaveResult
類型。這是一個錯誤,或者我錯過了某個地方的配置?
電賀
這就是我想要做的,但我沒有得到這麼多。在Visual Studio中的調試模式中,執行被暫停,並且我得到一個窗口,其中'用戶代碼未處理的異常'。在我的測試服務器上,我得到(Fiddler)'500:{「$ id」:「1」,「$ type」:「System.Web.Http.HttpError,System.Web.Http」,「Message」:「An錯誤發生了。「}'沒有錯誤類型。這可能是一個配置錯誤,我不知道(Windows Server 2012)。我很感激任何建議。 –
一個問題依然存在。在本地主機上調試時,我使用ExceptionMessage,ExceptionType和StackTrace獲取完整的JSON。在引發ConcurrentException時,將測試服務器上的項目部署爲測試服務器上的Release,從而爲我提供了上述註釋中的JSON。 –