【发布时间】:2015-06-04 06:25:58
【问题描述】:
我的团队正在决定我们后端系统的架构:
- Webserver A 是一个带有 ASP.NET Web API 组件的 ASP.NET MVC 应用程序,托管在 Azure 网站中。
- Windows 服务 B 是一个自托管的 OWIN 服务器,它会定期向订阅通知的客户端推送通知,托管在 Azure VM 中。
- Windows 服务 C 是订阅来自 B 的通知的客户端,托管在 Azure VM 中。
由于我们或多或少地在 .NET 堆栈中根深蒂固,我们将 B 实现为 SignalR 服务器,而 C 是 SignalR 客户端。这部分似乎运行良好。
现在我们也希望 A 订阅 B,但我意识到这意味着 ASP.NET Web 服务器将充当 SignalR CLIENT,而不是充当 @987654325 的典型场景@ 服务器。
我想我们可以在Global.asax 中初始化SignalR 连接并让进程一直运行以避免AppDomain 循环。但是,当让 Web 服务器执行除服务 Web 请求之外的其他事情时,我觉得有点不确定。该解决方案还使 Web 服务器不是无状态的,因为它需要保持 Web 套接字连接处于活动状态。
将ASP.NET 应用程序设置为SignalR 客户端是否存在根本问题?这个设置有什么可能的问题吗?
【问题讨论】:
标签: asp.net azure windows-services signalr