【问题标题】:Self hosted SignalR client method not invoked未调用自托管 SignalR 客户端方法
【发布时间】:2016-03-29 10:40:34
【问题描述】:

我知道这个问题之前已经处理过了,因为我在谷歌上搜索并阅读了过去遇到相同或类似问题的人的大部分回复。它们都不是我的情况的解决方案。我遇到的问题是我的客户端方法没有被调用,并且在启动集线器之前我已经定义了客户端方法。当我这样做时,我得到另一个错误,但是当我在启动我的集线器后定义方法时,我没有收到错误,但我的客户端函数没有被触发。

我认为,我在使用静态文件服务的 Win 服务中自托管,或者因为我使用的是 AngularJS,这就是我遇到这个问题的原因。但我不太确定。

你能帮帮我吗?有什么建议么?当然,我已经多次阅读 SignalR 故障排除指南。我检查了我的客户端方法的名称,以确保所有名称都正确命名,但这个问题仍然存在。我愿意相信这是因为我是自托管或因为 Angular 。我知道,当我在启动集线器之前定义我的客户端方法时,集线器会尝试设置对信号服务的订阅,而当它尝试这样做时会失败,因为它找不到(我的假设)定义的集线器(集线器名称:OffiHub ) 在文件夹 (/OffiSignalR/Hubs) 中。

使用 Chrome 进行调试时出现以下错误:jquery-2.2.1.js:9175 GET http://localhost:36900/OffiG/start?transport=serverSentEvents&clientPD%3D&connectionData=%5B%7B%22name%22%3A%22offihub%22%7D%5D&_=1459195567970 500 (Internal Server Error)

如果你想看我的代码,这里是:

var offiHub = $.connection.offiHub;
offiHub.client.publishSales = function (so) {
//Add to the current list.
console.log("We got here!");
log('We got here, hurray!.');
};

$.connection.hub.start().done(init);

【问题讨论】:

  • 打开集线器配置中的详细错误,看看那里是否还有其他问题。您可以在此处查看操作方法:hub options
  • 我已经在服务器和客户端上完成了。我得到的只是上面发布的错误消息。

标签: angularjs signalr


【解决方案1】:

我找到了问题的答案。这都是我的错,我在服务器上的 OnConnected 方法中有一个代码 sn-p,当我尝试从客户端连接到服务时它失败了。我已经将代码放在那里以备需要时使用,但并没有考虑太多。在过去的几天里,这段代码让我很伤心。删除它,所有客户端都运行良好。事实上,是 .Net 客户端让我怀疑代码有问题。

【讨论】:

    猜你喜欢
    • 2020-02-12
    • 1970-01-01
    • 2012-12-13
    • 1970-01-01
    • 1970-01-01
    • 2016-11-26
    • 2016-01-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多