我正在尝试 SignalR,但我不太明白如何以调用同一个集线器的方式从我的客户端调用方法。
我的中心有两种方法:
private ctlDataManager myManager;
public void StartConnection()
{
myManager = new ctlDataManager("test");
myManager.UpdateItemEvent += myManager_UpdateItemEvent;
myManager.Connect();
}
public void StopConnection()
{
myManager.Disconnect();
}
在我的客户中,我尝试这样称呼他们:
var notificationHub = $.connection.notificationHub;
$.connection.hub.start()
.done(function (state) {
$("#submit").click(function (e) {
e.preventDefault();
notificationHub.server.startConnection();
return false;
});
$("#stop").click(function (e) {
e.preventDefault();
notificationHub.server.stopConnection();
return false;
});
});
现在,当我单击开始按钮时,它工作正常,它也会启动它并接收数据。但是当我单击停止按钮时,它会引发对象错误的实例。'myManager' 似乎为空。这几乎就像一个新的枢纽开放了。当然,我需要它与我需要关闭连接的相同。我怎样才能做到这一点?