错误处理程序被添加像这样的客户:如何在客户端处理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