- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一个 asp.net mvc 项目,我们在该项目中使用 SignalR 在不同 View 中进行实时连接。效果很好,除了如果 SignalR 出现问题,javascript 的执行会停止。通常,如果我的自托管应用程序已关闭或发生其他连接问题,则此错误将是一个问题。
GET http://localhost:8081/signalr/hubs net::ERR_CONNECTION_REFUSED List:328
Uncaught TypeError: Cannot read property 'client' of null
如前所述,如果发生这种情况,它会阻止我所有其他 javascript 的执行,从而无法正确呈现我的 View 或布局。有没有办法解决这个问题,让 View 继续加载并运行它的 javascript?
我的典型 View 是这样的:
@model Services.Models.SomeModel
<script src="~/Scripts/jquery.signalR-2.0.2.js"></script>
<script src="http://localhost:8081/signalr/hubs"></script>
<script src="~/Scripts/signalR.connector.js"></script>
<script src="~/Scripts/signalR.fleet.js"></script>
<div id="page-content">
...
</div>
连接器看起来像这样:
$.connection.hub.url = "http://localhost:8081/signalr";
//Enable logging
$.connection.hub.logging = true;
// Proxy created on the fly
var messageHub = $.connection.myHub;
if (messageHub == null)
return null;
messageHub.client.timeEnabled = true;
... ommitted functions ...
$.connection.hub.start(function () {
var id = $('#signalRId').text();
messageHub.server.joinGroup("operationStatus-" + id);
console.log("Joined group: operationStatus-" + $('#signalRId').text());
}).done(function () {
console.log('Now connected, connection ID=' + $.connection.hub.id);
}
).fail(function () { console.log('Could not Connect'); });
最佳答案
不完全确定您要的是什么,但这是我的想法 - 您的基本工具是......
检查有问题的条件
if (messageHub) {
// set up client hub methods and start connection ...
} else {
// /signalr/hubs script didn't load properly, so skip setting up signalr
}
使用 try/catch(针对可能会导致问题但不易预测的事情);阅读 jquery.signalR-*
以查看 SignalR 代码可能抛出哪些错误
使用 window.onerror 的全局错误处理程序( also see this SO post ):
window.onerror = function(message, url, lineNumber) {
console.log(message);
};
关于javascript - 如何防止 signalR 错误停止进一步执行 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21849511/
我有这个: const {ops} = getOplogStreamInterpreter(strm); ops.del.subscribe(v => { console.log('delete
我四处搜索,据我所知,POST 表单请求已被限制为 10MB (http://golang.org/src/net/http/request.go#L721)。 如果我要在我的 ServeHTTP 方
我是一名优秀的程序员,十分优秀!