如何解释来自signalr连接请求的json响应

时间:2013-01-17 15:47:19

标签: asp.net signalr

我正在尝试将signalr与现有的asp.net表单Web应用程序集成。

在最初成功连接并且服务器端然后回调到客户端js功能之后,signalr似乎无法保持连接。我正在开发一台Windows 7机器,因此10个连接限制使得调试有些困难。但是,当网站部署到2003 Enterprise Ed时,我看到出现是什么问题。服务器,所以我认为我没有看到连接限制问题(我随时准备纠正)

在fiddler看来,我最终得到一个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,我就知道在哪里寻找问题。

提前干杯。

1 个答案:

答案 0 :(得分:1)

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

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

C: Cursor
M: Messages
   H: Hubname
   M: Method name
   A: Method args
T: Timeout
D: Disconnect