我在我的网络项目中使用SignalR。我首先将集线器创建为控制台应用程序,以便于调试,它可以完美运行。我最近尝试将SignalR切换到Windows服务,并且在尝试在任何函数上引用Uncaught TypeError: Cannot read property 'client' of undefined
时仍然收到错误client
$.connection.hub.url = "https://localhost:8080/signalr";
var dc = $.connection.deviceController
dc.client.anything = ...
这很奇怪,因为我可以手动导航到https://localhost:8080/signalr/hubs
而没有问题。我的服务应用程序几乎是控制台应用程序的精确副本,只需在OnStart()
方法中启动集线器。
StartUp.cs
public class Startup
{
public void Configuration(IAppBuilder app)
{
app.UseCors(CorsOptions.AllowAll);
app.MapSignalR();
}
}
服务中的OnStart
protected override void OnStart(string[] args)
{
Status("Service starting...");
const string url = "https://*:8080";
try
{
WebApp.Start<Startup>(url);
}
catch (Exception e)
{
Status(e.ToString());
throw;
}
}
有什么见解吗?
编辑:我也可能会指出deviceController
hub位于引用的类库中,但我认为这不是一个问题,因为它被正确引用。