现在我正在使用 PubNub 让我的网络应用程序进行通信。我有两个不同的应用程序通过 JS 接收消息(所以只是听)和至少三个不同的应用程序(两个 Web 和一个工作人员)发送消息(服务器到客户端)。
因此,对于 PubNub,事情非常简单,从代码隐藏我对他们的服务器进行休息调用,我的 JS 客户端接收消息。我想用 SignalR 复制它,但我需要检查我要使用的设计/架构。
我正计划创建一个运行 SignalR 服务器的 .Net Web 应用程序。这里我创建 Hub,在 Global.asax 中配置路由(RouteTable.Routes.MapHubs(new HubConfiguration() { EnableCrossDomain = true }))。这将部署在 sr.mydomain.com 上。
JS 客户端(部署为 client1.mydomain.com 和 clientx.mydomain.com)可以轻松监听 sr.mydomain.com 设置 $.connection.hub.url 发送的消息
到目前为止,一切都很好,编码,测试并且正在工作。
重点是如何从 webapp.mydomain.com 和 MyWorkerRole 向 JS 客户端发送消息。我正在考虑在 sr.mydomain.com 上创建一个可以从 webapp.mydomain.com 和 MyWorkerRole 使用的 webmethod。因此 MyWorkerRole 调用 sr.mydomain.com 上的 webmethod,sr.mydomain.com 将消息发送到 client1.mydomain.com。这有意义吗?有更好更直接的方法来做到这一点?