.net 信号R-未将大型消息从客户端传递到服务器
我们发现Uri字符串太长。将大型消息从Signal.NET客户端传递回Signal服务器时出错。较小的消息可以正常工作 向信号服务器发送数据时发生应用程序错误:URI无效:URI字符串太长 用于将数据发送回服务器的VB.NET代码:.net 信号R-未将大型消息从客户端传递到服务器,.net,signalr,.net,Signalr,我们发现Uri字符串太长。将大型消息从Signal.NET客户端传递回Signal服务器时出错。较小的消息可以正常工作 向信号服务器发送数据时发生应用程序错误:URI无效:URI字符串太长 用于将数据发送回服务器的VB.NET代码: Private Async Function SendData(ByVal sToUser As String, ByVal sToDevice As String, ByVal sDataType As String, ByVal sData As String)
Private Async Function SendData(ByVal sToUser As String, ByVal sToDevice As String, ByVal sDataType As String, ByVal sData As String) As Task
Try
myEvent = New CEvent(Now, sCompanyName, "INFO", "APP", "Sending data...", 100, 100)
myEventLog.WriteCEvent(myEvent)
Await trans.Invoke("sendData", _
New String() {msSiteCode, _
sCompanyName, _
sToUser & sToDevice, _
sDataType, _
sData}).ContinueWith(Function(task)
If task.IsFaulted Then
myEvent = New CEvent(Now, sCompanyName, "ERROR", "CCMDAPP", _
"APP Error sending data to SignalR Server: " & task.Exception.Message, 100, 100)
myEventLog.WriteCEvent(myEvent)
Else
myEvent = New CEvent(Now, sCompanyName, "INFO", "CCMDAPP", _
"CCMDAPP Data sent to the SignalR Server with arguments: " & msSiteCode & " " & sCompanyName & " " & sToUser & sToDevice & " " & sData, 100, 100)
myEventLog.WriteCEvent(myEvent)
End If
End Function)
Catch ex As Exception
myEvent = New CEvent(Now, sCompanyName, "ERROR", "APP", "APP Error sending data to SignalR Server: " & ex.Message, 100, 100)
myEventLog.WriteCEvent(myEvent)
End Try
End Function
堆栈跟踪,在.NET SignalR客户端上为所有用户启用。请注意,消息IDS3和ID4请求了大量未发送回服务器的数据
06:09:38.5417500-空-更改状态断开连接,正在连接
06:09:42.3567500-f933feff-b1ae-41d8-b417-1fc114fdffdb-WS连接到:wss://www.example.com/SignalRServer/signalr/connect?transport=webSockets&connectionToken=wbsXZGWLigLa%2B7btvrZ7SZWcG%2FYOjtwE8ah8yqlhZdBVP%2FoM4COAkvwqihzLOIS%2FCHT5DbdQZzmgjVVEiNs33TAAIgfahlv3rQuE%2B%2FpLeszoGPr9REr%2FmUUpZPGWj3Gj&connectionData=[{名称:发送器}]
06:09:42.3630000-f933feff-b1ae-41d8-b417-1fc114fdffdb-自动:无法使用传输WebSocket连接到。System.PlatformNotSupportedException:此平台不支持WebSocket协议。
在System.Net.WebSocket.ClientWebSocket..ctor上
在Microsoft.AspNet.signal.Client.Transports.WebSocketTransport.d__2.MoveNext
06:09:42.3692500-f933feff-b1ae-41d8-b417-1fc114fdffdb-SSE:GET{Name:Transmitter}]
06:09:43.1605000-f933feff-b1ae-41d8-b417-1fc114fdffdb-SSE:ON消息数据:已初始化
06:09:43.1630000-f933feff-b1ae-41d8-b417-1fc114fdffdb-SSE:OnMessageData:{C:d-AA7FBA87-B,F0 | GF,0 | GG,1 | GH,0,S:1,M:[{H:发射机,M:连接,A:[f933feff-b1ae-41d8-b417-1fc114fdffdb,2013年12月19日下午4:13:37]}
06:09:43.1817500-f933feff-b1ae-41d8-b417-1fc114fdffdb-变更状态连接,已连接
06:09:44.5080000-f933feff-b1ae-41d8-b417-1fc114fdffdb-SSE:OnMessageData:{C:d-AA7FBA87-B,F0 | GF,1 | GG,1 | GH,0,M:[{H:Transmitter,M:isLoggedIn,A:[true,,,,]}
06:09:44.5080000-f933feff-b1ae-41d8-b417-1fc114fdffdb-OnMessage{I:0}
06:09:45.4905000-f933feff-b1ae-41d8-b417-1fc114fdffdb-SSE:OnMessageData:{C:d-AA7FBA87-B,F0 | GF,2 | GG,1 | GH,0,M:[{H:发射机,M:命令发送,A:[{\MsgID\:\0\,\CompanyCode\:\ACCOUNTS:xyz软件p/L V90\,\FromUser\:\username@example.com\,\FromDevice\:\16\,\Action\:3,\ObjectType\:16,\Params\:[\A1\]}]}
06:09:45.5242500-f933feff-b1ae-41d8-b417-1fc114fdffdb-SSE:OnMessageData:{C:d-AA7FBA87-B,F0 | GF,5 | GG,1 | GH,0,M:[{H:发射机,M:命令发送,A:[{\MsgID\:\1\,\CompanyCode\:\ACCOUNTS:xyz软件p/L V90\,\FromUser\:\username@example.com\,\FromDevice\:\16\,\Action\:3,\ObjectType\:36,\Params\:[\Job Maintenance\]}]},{H:Transmitter,M:commandSent,A:[{\MsgID\:\2\,\CompanyCode\:\ACCOUNTS:xyz软件P/L V90\,\FromUser\:\username@example.com\,\FromDevice\:\16\,\Action\:3,\ObjectType\:23,\Params\:[\username@example.com\,\username@example.com\,\0\]}]},{H:Transmitter,M:commandSent,A:[{\MsgID\:\3\,\CompanyCode\:\ACCOUNTS:xyz软件P/L V90\,\FromUser\:\username@example.com\,\FromDevice\:\16\,\Action\:3,\ObjectType\:5,\Params\:[\\,\ACTIVE\,\50\]}
06:09:46.0342500-f933feff-b1ae-41d8-b417-1fc114fdffdb-OnMessage{I:1}
06:09:46.5655000-f933feff-b1ae-41d8-b417-1fc114fdffdb-OnMessage{I:2}
06:09:46.5680000-f933feff-b1ae-41d8-b417-1fc114fdffdb-OnMessage{I:4}
06:09:46.6005000-f933feff-b1ae-41d8-b417-1fc114fdffdb-OnMessage{I:3}
06:09:46.7567500-f933feff-b1ae-41d8-b417-1fc114fdffdb-OnMessage{I:5}
06:09:47.2567500-f933feff-b1ae-41d8-b417-1fc114fdffdb-OnMessage{I:7}
06:09:47.4930000-f933feff-b1ae-41d8-b417-1fc114fdffdb-OnMessage{I:6}
06:10:20.4480000-f933feff-b1ae-41d8-b417-1fc114fdffdb-SSE:OnMessageData:{}
06:11:20.4792500-f933feff-b1ae-41d8-b417-1fc114fdffdb-SSE:OnMessageData:{}
06:12:20.5005000-f933feff-b1ae-41d8-b417-1fc114fdffdb-SSE:OnMessageData:{}
06:12:50.5242500-f933feff-b1ae-41d8-b417-1fc114fdffdb-SSE:OnMessageData:{C:d-AA7FBA87-B,F1 | GF,5 | GG,1 | GH,0,M:[{H:发射机,M:离开,A:[45fccfd7-5928-430f-867d-B5C76822FC,2013年12月19日下午4:16:45]}
06:13:20.5280000-f933feff-b1ae-41d8-b417-1fc114fdffdb-SSE:OnMessageData:{}
06:14:20.5555000-f933feff-b1ae-41d8-b417-1fc114fdffdb-SSE:OnMessageData:{}
06:15:05.5292500-f933feff-b1ae-41d8-b417-1fc114fdffdb-SSE:OnMessageData:{C:d-AA7FBA87-B,F1 | GF,6 | GG,1 | GH,0,M:[{H:发射机,M:命令发送,A:[{\MsgID\:\4\,\CompanyCode\:\ACCOUNTS:xyz软件p/L V90\,\FromUser\:\username@example.com\,\FromDevice\:\16\,\Action\:3,\ObjectType\:5,\Params\:[\\,\ACTIVE\,\50\]}
06:15:06.5392500-f933feff-b1ae-41d8-b417-1fc114fdffdb-OnMessage{I:9}
环境:
在Windows 2012服务器/Windows 7上发送R服务器信号。
信号R.NET C
Windows 7计算机上的客户端。
我们使用异步调用,但据我们所知,为了与windows 8和windows server 2012计算机兼容,我们需要异步调用
此外,该问题是从signal R release 1.1.0升级到2.0.1的结果,没有进行其他更改。异步调用是在这次升级之前添加的
我们是否可以设置一些设置来防止这种情况?或者这确实是Signalr2.0.1的一个限制,我们需要设计一种方法来将更大的消息分块
谢谢。您可以发布堆栈跟踪吗?完成。已根据请求添加堆栈跟踪。