Signalr 当通过WCF的长期运行服务是后端时,在何处托管信号器

Signalr 当通过WCF的长期运行服务是后端时,在何处托管信号器,signalr,asp.net-mvc-5,Signalr,Asp.net Mvc 5,我相信这是一个令人困惑的标题 我有一个长期运行的Windows服务来处理世界上发生的事情。这项服务是我系统其他部分真理的标准来源。现在,我想在上面添加一个web界面,以便客户端可以看到实际发生的情况。起初,这只是一个带有一些Web API的MVC5应用程序。然后我计划使用Signalr2.0和Ember.js使这个应用程序更具交互性和“实时性” 客户端使用WCF通过命名管道与Windows服务通信。客户端(如web应用程序)可以请求例如IEventService的实例,将获得WCF代理客户端,并

我相信这是一个令人困惑的标题

我有一个长期运行的Windows服务来处理世界上发生的事情。这项服务是我系统其他部分真理的标准来源。现在,我想在上面添加一个web界面,以便客户端可以看到实际发生的情况。起初,这只是一个带有一些Web API的MVC5应用程序。然后我计划使用Signalr2.0和Ember.js使这个应用程序更具交互性和“实时性”

客户端使用WCF通过命名管道与Windows服务通信。客户端(如web应用程序)可以请求例如IEventService的实例,将获得WCF代理客户端,并可以通过此接口读取事件。很简单

然而,web应用程序基本上只是响应用户的请求。按照我的理解,对于一个长寿命的WCF客户机代理来说,这不是引发事件的最佳环境,因此我想知道如何托管我的Signaler东西。请记住,用户将登录到MVC5站点,但通过SignalR的魔力,他们将保持与服务的交互,而不必向网站发出进一步的请求

在我看来,有两种选择:

1) 主机信号器作为web应用程序的一部分。找到一种方法,使其在具有活动客户端时保持“长时间运行”,以便它可以通过向连接的web用户传递信息来对WCF客户端代理上的事件作出反应

2) 主机信号器作为我的Windows服务的一部分。这已经是长期运行,但我知道娜达关于奥文和这将意味着我的项目。此外,我认为SignalR客户端必须连接到一个与web应用提供服务的端口不同的端口

关于哪个方向正确有什么建议吗?请记住,在极端情况下,web用户会在早上上班时登录,在整个工作日内,只有信号机流量来回(即没有web请求)才能注销。我需要他们一直跟踪实时事件


有人吗?:)

自托管作为Windows服务的一部分的好处是,您可以将对客户端的调用直接与现有代码和事件集成。如果单独托管SignalR服务器,则服务和SignalR服务器之间会有另一层通信

如果您已经决定为此使用WCF命名管道,那么无论您是在IIS中作为自己的主机还是在IIS中作为主机(只要它位于同一台机器上),可能都不会有什么区别。信号服务器本身始终是“长时间运行”的,即只要客户端连接,它就会接收更新。它不需要用户手动请求

在任何情况下,您都可能需要一个web服务器来为HTML、脚本和图像提供服务。
就我所知,让客户端连接一天应该不会有任何问题。

作为Windows服务的一部分,自托管的好处是,您可以将对客户端的调用直接与现有代码和事件集成。如果单独托管SignalR服务器,则服务和SignalR服务器之间会有另一层通信

如果您已经决定为此使用WCF命名管道,那么无论您是在IIS中作为自己的主机还是在IIS中作为主机(只要它位于同一台机器上),可能都不会有什么区别。信号服务器本身始终是“长时间运行”的,即只要客户端连接,它就会接收更新。它不需要用户手动请求

在任何情况下,您都可能需要一个web服务器来为HTML、脚本和图像提供服务。
就我所知,让客户端连接一天应该不会有任何问题。

作为Windows服务的一部分,自托管的好处是,您可以将对客户端的调用直接与现有代码和事件集成。如果单独托管SignalR服务器,则服务和SignalR服务器之间会有另一层通信

如果您已经决定为此使用WCF命名管道,那么无论您是在IIS中作为自己的主机还是在IIS中作为主机(只要它位于同一台机器上),可能都不会有什么区别。信号服务器本身始终是“长时间运行”的,即只要客户端连接,它就会接收更新。它不需要用户手动请求

在任何情况下,您都可能需要一个web服务器来为HTML、脚本和图像提供服务。
就我所知,让客户端连接一天应该不会有任何问题。

作为Windows服务的一部分,自托管的好处是,您可以将对客户端的调用直接与现有代码和事件集成。如果单独托管SignalR服务器,则服务和SignalR服务器之间会有另一层通信

如果您已经决定为此使用WCF命名管道,那么无论您是在IIS中作为自己的主机还是在IIS中作为主机(只要它位于同一台机器上),可能都不会有什么区别。信号服务器本身始终是“长时间运行”的,即只要客户端连接,它就会接收更新。它不需要用户手动请求

在任何情况下,您都可能需要一个web服务器来为HTML、脚本和图像提供服务。
就我所知,让客户连接一天应该都不是问题。

谢谢!WCF层已经在那里与WPF客户机/监视器通信,所以我也可以使用它并获得MVC等的好处。我缺少的一点是,SignalR将以一种长期运行的方式运行。再一次,谢谢!非常感谢。WCF层已经在那里与WPF客户机/监视器进行通信,因此我也可以使用它并获得MVC等的好处。我缺少的一点是Sig