錯誤處理程序被添加像這樣的客戶:如何在客戶端處理SignalR服務器異常?
$.connection.hub.url = "/signalr";
$.connection.hub.logging = true;
$.connection.hub.error(function(error) {
console.log('SignalrAdapter: ' + error);
});
$.connection.hub.start().done(function() { me.onStartDone(); });
// ...
在服務器,它是:
hubConfiguration.EnableDetailedErrors = true;
因此到the docs這應該是足夠了。
在我的異常拋出它只是顯示一個記錄文本,並不會調用處理程序:
[18:18:19 GMT+0000()] SignalR: ... [[[my error description here]]] ...
在我CSHTML頁:
<script src="~/Scripts/vendor/jquery.signalR-2.1.2.js"></script>
<script src="~/signalr/hubs"></script>
但是,如果我附上一個錯誤處理程序該方法本身被稱爲:
$.connection.operatorHub.server.myMethodName(someParam).fail(function(error) {
console.log("Error handler called: " + error);
});
如何處理一般錯誤?
UPDATE。 答案如下。還看到這些:
- http://www.asp.net/signalr/overview/guide-to-the-api/hubs-api-guide-server#handleErrors
- SignalR, Owin and exception handling
希望它可以幫助別人。
你可以嘗試禁用日誌記錄'$ .connection.hub.logging = TRUE;' –
@QuentinRoger不,它並不能幫助。 – Artyom
奇怪的是,如果我停在方法的錯誤處理程序上並評估堆棧中捕獲的內容,那麼一般錯誤處理程序會被調用。 – Artyom