我正在使用Asp.Net Core和Angular 5和SignalR
我正在从我的客户端调用一个集线器请求,该请求转到该集线器,再到我的服务器,该服务器将json字符串返回到我的集线器,然后又返回到客户端。由于某种原因,当JSON字符串从集线器返回到客户端时(我确认json字符串在这一点上是有效的),JsonHubProtocol决定出于我什至无法理解和理解的原因决定要解析json字符串。然后抛出此错误:
vendor.js?v=qKeAFyUtI3So5rvopMsnQH_TWvFGR_LotO0ksrPFlXc:12769 ERROR
SyntaxError: Unexpected token t in JSON at position 101966
at JSON.parse (<anonymous>)
at JsonHubProtocol.parseMessages (JsonHubProtocol.js:26)
at HubConnection.processIncomingData (HubConnection.js:233)
at WebSocketTransport.HubConnection.connection.onreceive (HubConnection.js:53)
at WebSocket.webSocket.onmessage (WebSocketTransport.js:84)
at WebSocket.wrapFn [as __zone_symbol___onmessage] (vendor.js?v=qKeAFyUtI3So5rvopMsnQH_TWvFGR_LotO0ksrPFlXc:108115)
at ZoneDelegate.invokeTask (vendor.js?v=qKeAFyUtI3So5rvopMsnQH_TWvFGR_LotO0ksrPFlXc:107483)
at Object.onInvokeTask (vendor.js?v=qKeAFyUtI3So5rvopMsnQH_TWvFGR_LotO0ksrPFlXc:16071)
at ZoneDelegate.invokeTask (vendor.js?v=qKeAFyUtI3So5rvopMsnQH_TWvFGR_LotO0ksrPFlXc:107482)
at Zone.runTask
我无法终生发现错误,因为我返回的json是有效的,并且被SignalR Hub脚本拒绝,该脚本决定要检查我返回的字符串,并且当发现字符串是json时,引发错误。当服务器收到新数据并不得不重新序列化Json数据并将其发送到客户端时,似乎只有10%的时间会发生这种情况。