SignalR.Owin 与 SignalR.SelfHost
Posted
技术标签:
【中文标题】SignalR.Owin 与 SignalR.SelfHost【英文标题】:SignalR.Owin vs. SignalR.SelfHost 【发布时间】:2016-05-07 12:31:00 【问题描述】:我想使用通过 Owin 自托管的 SignalR。
这两个包有什么区别:
Microsoft ASP.NET SignalR OWIN
和
Microsoft ASP.NET SignalR Self Host
什么时候使用一个或另一个?
【问题讨论】:
【参考方案1】:我认为主要区别在于,Microsoft ASP.NET SignalR OWIN
是一个较旧的包,因为它依赖于Microsoft.AspNet.SignalR.Core (>= 1.2.2)
。而Microsoft ASP.NET SignalR Self Host
依赖于Microsoft.AspNet.SignalR.Core (>= 2.2.0)
。这就是我将使用Microsoft ASP.NET SignalR Self Host
包的原因。
【讨论】:
【参考方案2】:Microsoft ASP.NET SignalR Self Host
仍然使用 OWIN 启动。唯一的区别是自托管 SignalR 服务器不需要嵌套在 IIS 中托管的 ASP.NET Web 应用程序中。它可以是一个简单的控制台应用程序。
See MSDN for more info:
不在 IIS 中托管的原因包括:
IIS 不可用或不可取的环境,例如没有 IIS 的现有服务器场。 需要避免 IIS 的性能开销。 SignalR 功能将添加到在 Windows 服务、Azure 辅助角色或其他进程中运行的现有应用程序中。【讨论】:
我知道不在 IIS 中托管的原因。这就是我想自托管 SignalR 的原因。但是这两个链接的包都是自托管的。我不明白这两者的区别。两者都在使用 OWIN。 这是因为 Self Host dll 包含HttpListener
需要侦听端口 80,并且因为这是 IIS 的工作,所以需要这个类来建立连接使用 SignalR,因为您没有使用 IIS。
微软已将 SignalR 分割成多个 NuGet 包,以便您可以根据需要使用正确的包,从而减少不必要的依赖以上是关于SignalR.Owin 与 SignalR.SelfHost的主要内容,如果未能解决你的问题,请参考以下文章