需要以下建议。
托管 Signalr 的最佳选择是什么,它可以作为 WCF 服务托管吗?此 SignalR 将由 Web 应用程序 (MVC4) 和 ios 应用程序等客户端使用。
谢谢,
据我所知,答案是否定的。您不能将 SignalR 集线器托管为 WCF 服务。作为在 ASP.NET 网站中托管的替代方法,您可以选择自托管方法,如此处所述。
另一方面,SignalR 具有适用于 ASP.NET 和iOS/OSX的客户端 API 。最简单的解决方案(也是我的建议)是通过客户端 API 直接使用集线器。
如果您坚持打开 WCF 终结点来管理 SignalR 集线器,则可以使用GlobalHost.ConnectionManager.GetHubContext<YourHub>()
.
这里唯一的要求是您的 WCF 服务必须与 SignalR 集线器托管在同一个 Web 应用程序上。来自不同服务应用程序的外部 WCF 服务无法访问您的 hubcontext。