use*_*512 7 c# self-hosting signalr signalr-hub
我想知道是否可以将结果转换
var hub = GlobalHost.ConnectionManager.GetHubContext<ChatHub>();
为我实际的ChatHub类.因为GlobalHost.ConnectionManager.GetHubContext<ChatHub>() as ChatHub失败了
在我的ChatHub类中,我有一个方法UpdateTime():
public void SendTimeUpdate(DateTime time, string auth)
{
Clients.All.UpdateTime(time, auth);
}
Run Code Online (Sandbox Code Playgroud)
我想从我的其他班级称呼它.由于我无法转换为ChatHub并调用SendUpdate,我必须去:
GlobalHost.ConnectionManager.GetHubContext<ChatHub>().Clients.All.UpdateTime(time, auth);
Run Code Online (Sandbox Code Playgroud)
但是,如果我走这条路,方法SendTimeUpdate不会添加到代理脚本/ signalr/hubs中
有这个问题的解决方案吗?我想获取类型化的Hub实例,而不是直接在IHubContext的Clients属性上调用stuff.
不,您不能将结果投射....GetHubContext<....到您的中心类。对不起 :(。
IHubContext当 Hub 仅是一个 时,GetHubContext 方法返回IHub。
如果您想集中逻辑,只需创建一个可以从中心和外部服务调用的方法。
| 归档时间: |
|
| 查看次数: |
2952 次 |
| 最近记录: |