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的主要内容,如果未能解决你的问题,请参考以下文章

写了一款自动运维监控工具

LDAP 与 MYSQL .. JA-SIG CAS 与 LDAP 与 CAS 与 MySQL

python网络编程基础(线程与进程并行与并发同步与异步)

=与==&与&&| 与 || 的区别

与 0 进行比较与与某个值进行比较是不是更快?

三.工具与市场-债券与债务股票与公司