0

我正在尝试将信号器与现有的 asp.net 表单网络应用程序集成。

在最初连接成功并且服务器端然后回调客户端 js 函数后,signalr 似乎无法维持连接。我正在 Windows 7 机器上开发,因此 10 个连接的限制使得调试起来有些困难。然而,当网站部署到 2003 Enterprise Ed 时,我看到了同样的问题。服务器,所以我认为我没有看到连接限制问题(尽管我已准备好进行更正)

看着提琴手,我最终得到了 200 的连接请求,但我得到的唯一 JSON 是这样的:

{"C":"B,0|7,4|8,0|9,0","T":1,"M":[]}

我不知道这代表什么。最初,当连接成功时,我得到了这个(包括我期望的数据有效负载):

"C": "B,0|BK,1|BL,0|BM,0",
"M": [{
    "H": "notifyHub",
    "M": "notificationReceived",
    "A": ["[{\"TransitionNotificationId\":527,\"AuthorizationJobId\":53,\"TransitionType\":2,\"IsWorkShop\":true},
            {\"TransitionNotificationId\":528,\"AuthorizationJobId\":53,\"TransitionType\":12,\"IsWorkShop\":true},
            {\"TransitionNotificationId\":580,\"AuthorizationJobId\":61,\"TransitionType\":2,\"IsWorkShop\":true}]"]
    }]

如果我能正确解释“失败”请求中的 JSON,我就会知道在哪里寻找问题。

提前喝彩。

4

1 回答 1

1

T:1 表示您的连接超时。使用长轮询时,连接将每 120 秒超时一次(默认情况下)。这是因为大多数负载均衡器/代理会在一段时间后终止空闲连接。其他传输发送保持活动以阻止这种情况发生。

至于有效载荷的其余部分:

C: Cursor
M: Messages
   H: Hubname
   M: Method name
   A: Method args
T: Timeout
D: Disconnect
于 2013-01-17T19:21:58.150 回答