我正在使用SignalR的中心功能(https://github.com/SignalR/SignalR)向所有订阅的客户端发布消息:
public class NewsFeedHub : Hub
public void Send(string channel, string content)
{
Clients[channel].addMessage(content);
}
Run Code Online (Sandbox Code Playgroud)
这通过Javascript调用"发送"时工作正常,但我也希望Web应用程序发布消息(来自ASP.NET MVC操作方法).我已经尝试实例化新对象ob NewsFeedHub并调用Send方法,但这会导致错误(因为未设置Hub的基础"连接").有没有办法在没有连接的情况下使用Hub?
我有一个在 azure 中运行的 Web api,以及在本地本地运行的 Windows 服务。这些“客户端”通过 Web API 登录 Hub。当 api 向所有客户端发出命令时,一切都会受到好评。这里没有问题。但是,是否可以将信号从客户端的同一个 websocket 发送到服务器,即从 Windows 服务发送到 Web api?现在我的服务调用 Web api 上的控制器,但这感觉是多余的,因为已经有一个可用的 Websocket,对吧?
我对 signalR 有点陌生,所以任何帮助将不胜感激。
谢谢!