SignalR.Owin 对比 SignalR.SelfHost

SignalR.Owin vs. SignalR.SelfHost

我想在 Owin 中使用自托管的 SignalR。

这两个包有什么区别:

Microsoft ASP.NET SignalR OWIN

Microsoft ASP.NET SignalR Self Host

何时使用其中一种?

Microsoft ASP.NET SignalR Self Host 仍然使用 OWIN 启动。唯一的区别是自托管 SignalR 服务器不需要嵌套在 IIS 中托管的 ASP.NET Web 应用程序中。它可以是一个简单的控制台应用程序。

See MSDN for more info:

不在 IIS 中托管的原因包括:

  • IIS 不可用或不可取的环境,例如没有 IIS 的现有服务器场。
  • 需要避免 IIS 的性能开销。
  • SignalR 功能将添加到在 Windows 服务、Azure 工作者角色或其他进程中运行的现有应用程序。

我认为主要区别在于,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 包。