首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >需要重新连接集线器

需要重新连接集线器
EN

Stack Overflow用户
提问于 2012-12-20 16:58:38
回答 1查看 102关注 0票数 0

我有一个简单的项目在ASP.NET网站与信号。启动连接集线器的代码:

代码语言:javascript
复制
var scriptStarted = 'var myHub = $.connection.' + hubName + ';' + methodNameInitHub + '(myHub);';
$.connection.hub.error(function () {
    alert("An error occured");
});

$.connection.hub.start()
                        .done(function () {
                            eval(scriptStarted);
                            myHub.server.registerClient($.connection.hub.id, clientIdentifier);
                        })
                        .fail(function () { alert("Could not Connect!"); });

此方法在"methodNameInitHub + '(myHub);“中调用;

代码语言:javascript
复制
function methodInitEventHub(hub) {
            if (hub) {
                hub.client.addEvent = function (eventOperationName, eventType) {
                    $("#events").append("<li>" + eventOperationName + ", " + eventType + "</li>");
                };
            }
        }

停止连接集线器的代码:

代码语言:javascript
复制
$.connection.hub.stop();

当我加载.aspx页面并启动集线器时,所有代码执行时都没有错误,但没有收到来自服务器的事件。停止并重新启动后,在客户端(浏览器) http://clip2net.com/s/2CP2e中开始接收集线器连接事件

为什么从服务器开始接收事件需要重新启动连接集线器?谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-21 03:20:57

出现问题的原因是,在调用start之前,您必须至少有一个客户端集线器函数,否则您将无法订阅集线器。

试着做

代码语言:javascript
复制
myHub.client.foo = function() {}

在开始之前。

它之所以能在您停止然后重新启动连接之后工作,是因为您的脚本绑定了一个新的客户端方法,从而允许您在重新启动连接后订阅集线器。

希望这能有所帮助!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13968408

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档