错误处理程序在客户端添加如下:
$.connection.hub.url = "/signalr";
$.connection.hub.logging = true;
$.connection.hub.error(function(error) {
console.log('SignalrAdapter: ' + error);
});
$.connection.hub.start().done(function() { me.onStartDone(); });
// ...
Run Code Online (Sandbox Code Playgroud)
在服务器上它是:
hubConfiguration.EnableDetailedErrors = true;
Run Code Online (Sandbox Code Playgroud)
根据文档,这应该足够了.
在我的异常中抛出它只显示它的日志文本而不调用处理程序:
[18:18:19 GMT+0000()] SignalR: ... [[[my error description here]]] ...
Run Code Online (Sandbox Code Playgroud)
在我的cshtml页面:
<script src="~/Scripts/vendor/jquery.signalR-2.1.2.js"></script>
<script src="~/signalr/hubs"></script>
Run Code Online (Sandbox Code Playgroud)
但是,如果我将错误处理程序附加到方法本身,则会调用它:
$.connection.operatorHub.server.myMethodName(someParam).fail(function(error) {
console.log("Error handler called: " + error);
});
Run Code Online (Sandbox Code Playgroud)
如何处理一般错误?
UPDATE.答案如下.另见这些:
希望它可以帮助某人.