Asp.net 服务器上的信号器不工作

Asp.net 服务器上的信号器不工作,asp.net,signalr,Asp.net,Signalr,我在c#中通过visual studio创建了一个windows服务。 它使用信号器连接到SQl数据库并接收通知。 但是,当我将服务部署到服务器本身(WindowsServer2008R2)上时,它无法运行。此服务器也是承载SQL server的服务器 这是一个自托管的信号服务。它并没有使用IIS或任何类似的工具来运行。它打包为一个简单的Windows服务。因此,它与典型的MVC、IIS托管的应用程序(如/signalr/hubs路径、web.config等)没有问题 在我的开发计算机上,我使用

我在c#中通过visual studio创建了一个windows服务。 它使用信号器连接到SQl数据库并接收通知。 但是,当我将服务部署到服务器本身(WindowsServer2008R2)上时,它无法运行。此服务器也是承载SQL server的服务器

这是一个自托管的信号服务。它并没有使用IIS或任何类似的工具来运行。它打包为一个简单的Windows服务。因此,它与典型的MVC、IIS托管的应用程序(如/signalr/hubs路径、web.config等)没有问题

在我的开发计算机上,我使用sql server的WAN IP连接到它的数据库。当我运行它时,它会做它应该做的一切,并在每次服务器更改时发出通知

在服务器本身上,服务安装良好,但不会发出任何通知。我将IP作为WAN IP保留下来,用于开发服务,并计划将其更改为localhost等。一旦它可以工作,但无法工作

现在,我让服务在我的开发计算机上运行,它工作得很好。我真的希望它在服务器上,因为这是一台永远在线的计算机

关于为什么这在我的开发计算机上工作,而不是在服务器上工作,有什么提示或想法吗

谢谢

[编辑] 我正在使用Windows 7和Visual Studio 2013作为我的开发设置。
该服务正在localhost:2165(任意端口)上运行。我可以通过服务器本身上的web浏览器访问该地址。

您没有说明您的开发操作系统是什么,但是如果您使用的是WebSocket,那么您至少需要有Windows 8或Windows server 2012

从文件中,重点(矿山):

支持的服务器IIS版本

当SignalR托管在IIS中时,支持以下版本。请注意,如果使用客户端操作系统,例如用于开发(Windows 8或Windows 7),则不应使用IIS或Cassini的完整版本,因为将限制10个同时连接,这将很快达到,因为连接是暂时的,经常会重新建立,并且不再使用时不会立即处理。应在客户端操作系统上使用IIS Express

还请注意,要让Signar使用WebSocket,必须使用IIS 8或IIS 8 Express,服务器必须使用Windows 8、Windows server 2012或更高版本,并且必须在IIS中启用WebSocket。有关如何在IIS中启用WebSocket的信息,请参阅IIS 8.0 WebSocket协议支持


登录到服务器时,您能否访问您的信号服务器?这可能是防火墙问题吗?虽然你说的是真的,但它并没有回答这个问题。如果web套接字不可用,Signaler将退回到其他协议,因此缺少web套接字不能解释Clifford正在经历的行为。