【问题标题】:Can a SignalR Application run on IIS 8.5 on Windows Server 2012 R2?SignalR 应用程序能否在 Windows Server 2012 R2 上的 IIS 8.5 上运行?
【发布时间】:2017-02-10 22:16:50
【问题描述】:

简单明了:SignalR 应用程序是否可以在 Windows Server 2012 R2 上运行 IIS 8.5,或者这不是兼容的设置? Stack Overflow 上的大量线程都存在相同的问题,即位于信号器/集线器的动态生成脚本是 404ing,但具有解决方案的线程没有使用我的 iis/服务器设置。

我尝试按照https://docs.microsoft.com/en-us/aspnet/signalr/overview/getting-started/tutorial-getting-started-with-signalr 的教程进行操作,但它似乎只适用于 Visual Studio 的 IIS Express。一旦我将应用程序移到我们的服务器上,我就会收到其他人在 SO 上遇到的错误。

以下是官方文档中 Signalr 支持的平台: https://docs.microsoft.com/en-us/aspnet/signalr/overview/getting-started/supported-platforms

它没有 Windows Server 2012 R2,但文档已过时。任何建议表示赞赏。

【问题讨论】:

  • 我有一个 SignalR 应用程序在生产中使用了很长时间,在提到的平台上没有问题。
  • 贴出相关代码,更好的解释环境等

标签: asp.net signalr windows-server-2012-r2 iis-8.5


【解决方案1】:

是的,Windows Server 2012 R2 和 Windows Server 2016 都支持 SignalR。只需确保启用了 WebSocket 支持并且一切就绪。

IIS Express 是 IIS 的精简版本(令人沮丧的是,它不能与 IIS 管理器一起使用),但在内部它使用相同的执行引擎(包括 HTTP.sys 集成),因此它使用相同的 web.config 文件作为全脂IIS,所以它也支持SignalR。

("IIS Express" 是一个东西,因为之前 VS 附带了一个名为 Cassini 的简单 Web 服务器,它使用 ASP.NET System.Web.dll 处理一切,这适用于简单的应用程序,但对于更复杂的应用程序,有足够的不同行为这使开发变得困难)

【讨论】:

  • @klabranche 未启用 WebSockets SignalR 会退回到长轮询等传统技术 - 因此,为了获得最佳性能和用户体验,您应该启用和使用 WebSockets。
  • 明白。 :-) 我只是想明确一点,无论有没有 WebSockets,SignalR 都可以在所述平台上工作。对于阅读问题/答案的任何人来说,答案可能会被视为它对任何人都不起作用的原因。
  • @klabranche 因为你已经部署在同一个平台上,这里有什么建议吗?我在stackoverflow.com/questions/42237137/… 发布了一个代码问题
  • @johnny-pints 您在所有路径中丢失 ~/...您从本地主机移动到相对性很重要的服务器.....而不是 src="signalr/hubs" 尝试 src ="~/signalr/hubs"
猜你喜欢
  • 1970-01-01
  • 2014-07-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-23
  • 2017-05-11
相关资源
最近更新 更多