我使用基于 SignalR (jquery.signalR-2.0.0-beta2.js) 的实时消息传递系统开发了一个 asp.net mvc 应用程序。问题是在 SignalR 连接启动后无法加载所有部分视图。在这种情况下,$.connection.hub.start({ transport: 'longPolling'}).done(function () { applicationHub.server.connectUser(); }) 之后的所有 ajax 请求都处于挂起状态。是否可以使此请求异步或者它是 SignalR 中的错误?谢谢你的帮助!
SignalR 调用:
<script type="text/javascript">
$(document).ajaxStop(function () {
var applicationHub = $.connection.applicationHub;
if ($.connection.hub && $.connection.hub.state == $.signalR.connectionState.disconnected) {
registerConversationClientMethods(applicationHub);
$.connection.hub.start({ transport: 'longPolling'}).done(function () {
applicationHub.server.connectUser();
})
.fail(function () {
});
}
});
</script>
呈现局部视图的 Ajax 调用:
函数 LoadActivities(id, type, container, action, loaderpath) {
var url = action + '/?id=' + id + '&type=' + type;
var targetDiv = container;
var ajaxLoading = "<img id='ajax-loader' src='" + loaderpath + "' height='6' width='50' style='margin:5px;'>";
$(targetDiv).html("<div align='center'>" + ajaxLoading + "</div>");
$.get(url, null, function (result) {
$(targetDiv).html(result);
});
}