我无法在JavaScript文件中初始化集线器:
var documents = $.connection.newDocumentHub;
$.connection
不为null,但newDocumentHub
为null。
这是我的中心地带
namespace Notifications.Hubs
{
[HubName("newDocumentHub")]
public class DocumentNotificationHub : Hub
{
private readonly DocumentNotification _newDocNotification;
public DocumentNotificationHub() : this(DocumentNotification.Instance)
{
}
public DocumentNotificationHub(DocumentNotification NewDocNotification)
{
_newDocNotification = NewDocNotification;
}
}
}
这是我的Startup.cs:
assembly: OwinStartup(typeof(Notifications.Models.DocumentNotification))]
namespace Notifications
{
public class Startup
{
public void Configuration(IAppBuilder app)
{
// Any connection or hub wire up and configuration should go here
app.MapSignalR();
}
}
}
这些是我项目中的引用,我正在使用(SignalR 2.4.1.0):
任何人都可以帮助您指出正确的方向,以便我可以正常运行。我有另一个可以正常工作的SignalR项目,但是它使用的是旧版本。我已经审查了几个似乎可以解决此问题的stackoverflow问题,但这些解决方案或建议均无效。
我的客户页面底部的js引用:
<!--Script references. -->
<link href="../Content/bootstrap.css" rel="stylesheet" />
<script src="../Scripts/jQuery/jquery-3.3.1.js"></script>
<script src="../Scripts/SignalR/jquery.signalR-2.4.1.js"></script>
<script src="http://localhost/notifications/signalr/hubs"></script> // note I have tried multiple values for this reference to no avail.
<script src="../Scripts/Angular/angular.js"></script>
<script src="../Scripts/bootstrap/popper.js"></script>
<script src="../Scripts/bootstrap/bootstrap.js"></script>
<script src="../Controllers/newDocumentController.js"></script>
<script src="../Scripts/DocumentNotification.js"></script>