客户端向服务器发送的SignalR消息

3
我有一个在Azure上运行的Web API和一个在本地机器上运行的Windows服务。这些“客户端”在Web API中登录Hub。当API向所有客户端发送命令时,一切都很顺利。没有问题。 然而,是否可以从同一WebSocket从客户端向服务器发送信号,即从Windows服务向Web API发送信号?现在我的服务调用Web API上的控制器,但这感觉是多余的,因为已经有可用的WebSocket,对吗? 我对SignalR有点陌生,所以任何帮助都将不胜感激。 谢谢!

1
看到了那篇帖子,可能认为是相反的,感谢指出! - Roelant M
1个回答

6
您可以使用Invoke方法来实现此功能:
var hubConnection = new HubConnection("http://localhost:1235/");
var hub = hubConnection.CreateHubProxy("myHub");

await hubConnection.Start();

hub.Invoke("MethodName", params...);

创建hub连接后,您可以使用Invoke调用来自客户端的方法调用。第一个参数是要调用的服务器上的方法名(以字符串形式给出),并且您可以使用params将一些参数发送到该方法。
如果被调用的方法具有返回类型,则可将其指定为泛型<>
var result = hub.Invoke<MyReturnType>("MethodName", params...);

强制类型化会有任何更改吗? - Roelant M
据我所知,没有。 - croxy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接