Installed signalR sample nuget package into an existing MVC app. When negotiating connection I get the following error randomly:
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"...
Other times, I'm able to establish connection just fine. I've noticed this is due to ConnectionToken containing a "+" sign
Does not work:
"ConnectionToken":"+S981mX0eUA2mfsuMB2nFO9ufg/47e2RAjOA38BS5ZQ14mfdeb8uNyk28UEe+7RmLYKHIuWi+9dTo5v3r8G8j3u6rmTavzt87jqKabhlHTue6Wqi"
connectionToken=%2BS981mX0eUA2mfsuMB2nFO9ufg%2F47e2RAjOA38BS5ZQ14mfdeb8uNyk28UEe%2B7RmLYKHIuWi%2B9dTo5v3r8G8j3u6rmTavzt87jqKabhlHTue6Wqi
Works:
"ConnectionToken":"zBvrOSuqziot9pJXKfAxpXfPMYY4pI/069Ks/uDoOwm8YYydTParbim7o3YiyrM4NInLJ7wKzwc3YXAlb3sVUq/R0abV2OSOzMydbgUYMPfawEDv"
connectionToken=zBvrOSuqziot9pJXKfAxpXfPMYY4pI%2F069Ks%2FuDoOwm8YYydTParbim7o3YiyrM4NInLJ7wKzwc3YXAlb3sVUq%2FR0abV2OSOzMydbgUYMPfawEDv
In contrast, I've created a brand new MVC app and installed SignalR Nuget sample-this time however everything works just fine.
What could be potential causes of such behavior in my existing app?
This issue was related to one of the existing IHTTPModules that was rewriting URL in the http request cycle and it was not related to SignalR.