【发布时间】:2015-04-04 00:09:00
【问题描述】:
从 SignalR 的教程中,我了解到 Hub 类的工作方式类似于 ASP WebForms 页面。在每个请求上,都会创建一个新的 Hub,处理请求,发送响应,然后销毁。但是,我不太确定我是否理解正确,它是如何与单个传输技术一起工作的。如果我错了,请纠正我,但我假设如下:
由于 WebSockets 创建了一个双工通道,因此连接会一直保持下去,直到客户端断开连接(或连接因其他原因而中断)并且 Hub 的单个实例为发出初始请求的客户端提供服务。
但是,在长轮询中,一旦服务器发送响应,Hub 实例就会被销毁。 SignalR 客户端然后自动创建另一个请求(轮询的性质也是如此)。但是,此请求会在服务器上创建一个全新的 Hub 实例,这与为第一个请求提供服务的 Hub 对象完全不同。然后,第二个 Hub 实例处理请求,发送响应并被销毁。然后客户端发送第三个请求,整个过程重新开始。
我是对还是错?我在互联网上的任何地方都找不到答案。
【问题讨论】: