Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Signalr 为什么每个客户端都要实例化两次PersistentConnection(信号器)?_Signalr - Fatal编程技术网

Signalr 为什么每个客户端都要实例化两次PersistentConnection(信号器)?

Signalr 为什么每个客户端都要实例化两次PersistentConnection(信号器)?,signalr,Signalr,我使用持久连接 建立连接的路线: protected void Application_Start(object sender, EventArgs e) { RouteTable.Routes.MapConnection<MyConnection>("echo", "echo/{*operation}"); } 受保护的无效应用程序\u启动(对象发送方,事件参数e) { RouteTable.Routes.MapConnection(“echo”,“echo/{*ope

我使用持久连接
建立连接的路线:

protected void Application_Start(object sender, EventArgs e) 
{
    RouteTable.Routes.MapConnection<MyConnection>("echo", "echo/{*operation}");
}
受保护的无效应用程序\u启动(对象发送方,事件参数e)
{
RouteTable.Routes.MapConnection(“echo”,“echo/{*operation}”);
}

为什么每次客户端连接时都要调用两次MyConnection(PersistentConnection)?

这是因为客户端在建立连接时向服务器发出两个请求:

protected void Application_Start(object sender, EventArgs e) 
{
    RouteTable.Routes.MapConnection<MyConnection>("echo", "echo/{*operation}");
}
  • a协商-请求
    此时,客户端和服务器交换支持的/首选传输(例如“WebSocket”、“longPolling”),并确定使用哪种传输
  • 真正的连接请求

将为每个传入请求创建
MyConnection
类的新实例。这就是构造函数被调用两次的原因

这些代码不足以理解您的要求。您能否提供一个完整的示例,并解释两次调用的内容,以及您使用的SignalR的verison版本?我使用了以下示例:。版本:0.5.2