安装signalR示例nuget包到现有的MVC应用程序中。在协商连接时,我会随机获得以下错误:
NetworkError: 400 Bad Request - http://localhost:19000/signalr/connect?transport=serverSentEvents&clientProtocol=1.5&connectionToken=GXM1JG%2B8qT13Q5DRblCFTVqQL1OrRS9dvSJ2hoYTEo9aghcvO0aQbKPUW9hC%2Bw4%2FpKfpmLRNcpCeJEnS4WkON%2F3JxjUshiaRRBf5UzoAsjZSmJdn&connectionData=%5B%7B%22name%22%3A%22stockticker%22%7D%5D&tid=7"...
其他时候,我可以很好地建立连接。 我注意到这是由于 ConnectionToken 包含“+”符号
不起作用:
"ConnectionToken":"+S981mX0eUA2mfsuMB2nFO9ufg/47e2RAjOA38BS5ZQ14mfdeb8uNyk28UEe+7RmLYKHIuWi+9dTo5v3r8G8j3u6rmTavzt87jqKabhlHTue6Wqi"
connectionToken=%2BS981mX0eUA2mfsuMB2nFO9ufg%2F47e2RAjOA38BS5ZQ14mfdeb8uNyk28UEe%2B7RmLYKHIuWi%2B9dTo5v3r8G8j3u6rmTavzt87jqKabhlHTue6Wqi
使用:
"ConnectionToken":"zBvrOSuqziot9pJXKfAxpXfPMYY4pI/069Ks/uDoOwm8YYydTParbim7o3YiyrM4NInLJ7wKzwc3YXAlb3sVUq/R0abV2OSOzMydbgUYMPfawEDv"
connectionToken=zBvrOSuqziot9pJXKfAxpXfPMYY4pI%2F069Ks%2FuDoOwm8YYydTParbim7o3YiyrM4NInLJ7wKzwc3YXAlb3sVUq%2FR0abV2OSOzMydbgUYMPfawEDv
相比之下,我创建了一个全新的MVC应用程序并安装了SignalR Nuget示例 - 这次一切正常。
在我现有的应用中,这种行为的潜在原因可能是什么?
答案 0 :(得分:0)
此问题与在http请求周期中重写URL的现有IHTTPModule之一有关,而且与SignalR无关。