我在信号 R 的 TestHub(由 Hub 继承)类中有一个断开连接方法。我无法从 OnDisconnected
方法调用 javascript 方法 fnDeleteCustomer
,但是在 Connect 方法上调用相同的 js 方法。我做错了什么?
public override Task OnDisconnected()
{
try
{
var customer = ConnectedUsers.Find(x => x.ConnectionID == Context.ConnectionId);
if (customer!=null)
{
Clients.Client(customer.ConnectionID).fnDeleteCustomer(customer.UserId);
return base.OnDisconnected();
}
}
catch { };
return null;
}
最佳答案
根据MSDN :
Occurs when a connection disconnects from this hub instance.
因此您没有任何事件连接,并且无法访问客户端中心及其方法。
我想你应该使用客户端disconnected事件:
$.connection.hub.disconnected(function() {
$.connection.hub.fnDeleteCustomer(userId);
});
有关信号器生命周期事件的更多信息,请参见 here .
关于javascript - 无法在 OnDisconnected 上调用客户端方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32201399/