一切正常,现在不是:)我一直在查看我的源代码控制,但我无法弄清楚出了什么问题。我没有收到错误,而且在调试时我无法找出问题所在。调用集线器的客户端命令被调用,但永远不会调用集线器。不知道为什么。
<!--Reference the SignalR library. -->
<script src="~/Scripts/jquery.signalR-2.2.0.min.js"></script>
<!--Reference the autogenerated SignalR hub script. -->
<script src="~/signalr/hubs"></script>
/ signalR / hubs脚本确实生成了。
它曾经使用我目前使用NuGet安装的以下软件包(我已尝试重新安装它们)
Microsoft ASP.NET SignalR Core Components
Microsoft ASP.NET SignalR JavaScript Client
Microsoft ASP.NET SignalR System.Web
Microsoft ASP.NET SignalR
Microsoft.Owin.Host.SystemWeb
Microsft.Owin.Security
Microsoft.Owin
OWIN
UpdateInstallProgress(string installID)永远不会被调用:(
namespace RealtimeInstaller.Hubs
{
public class UpdateInstallHub : Hub
{
public void UpdateInstall()
{
Clients.All.updateInstall();
}
public void UpdateInstallProgess(string installID)
{
Clients.All.updateInstallProgess(installID);
}
}
}
以下是客户端在JS中调用服务器的位置。这会被调用,但是终端永远不会被调用!
connection.server.updateInstallProgess(@ViewBag.installID);
不要担心身体里面的东西,下面是永远不会被调用的客户端JS代码!这是因为永远不会调用集线器来调用此客户端代码。
var connection = $.connection.updateInstallHub;
connection.client.updateInstallProgess = function (installID) {
//code that never gets called :(
};
以下是Startup.cs
using Owin;
using Microsoft.Owin;
[assembly: OwinStartup(typeof(SignalRChat.Startup))]
namespace SignalRChat
{
public class Startup
{
public void Configuration(IAppBuilder app)
{
// Any connection or hub wire up and configuration should go here
app.MapSignalR(); //mapping the SignalR hubs to the http routes
}
}
}
为什么没有呼叫集线器?我怀疑它与我的软件包/引用有关,但我不知道如何修复它,而不仅仅是重新安装我之前提到的软件包。任何想法都将不胜感激!
答案 0 :(得分:1)
在你的js代码中,你表明你似乎没有开始连接。