我知道这个问题之前已经得到了解决,因为我用Google搜索并阅读了过去曾遇到过相同或类似问题的人的大部分回复。他们都不是我案子的解决方案。我遇到的问题是我的客户端方法没有被调用,我已经在启动集线器之前定义了客户端方法。当我这样做时,我得到另一个错误,但是当我在启动集线器后定义方法时,我没有收到错误但是我的客户端函数没有被触发。
我认为,我在使用静态文件服务的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(内部服务器错误)
如果您希望查看我的代码,请访问:
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);
答案 0 :(得分:0)
我找到了问题的答案。这完全是我的错,我在服务器上的OnConnected方法中有一个代码片段,当我尝试从客户端连接到服务时失败了。我把代码放在那里,当我需要的时候,却没有想太多。这段代码在过去的几天给了我很多的悲伤。删除它,所有客户都能很好地工作。实际上是.Net客户端让我怀疑代码错误。