You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
.NET Client negotiate does not timeout on slow response or request
This was first observed in our own diagnostic logging as a connection transitioning from disconnected to connecting but never transitioning back to disconnected or connected
Functional impact
Negotiate never succeeds or fails and no underlying transport is started.
Minimal repro steps
To replicate this in a minimal sample we have use Fiddler and one of two custom rules
Slow Request
//At the Top of the Fiddler Custom Rules Definitionpublicstatic RulesOption("Slow Negotiate Request")
BindPref("fiddlerscript.rules.SlowNegotiateRequest")varm_SlowNegotiateRequest: boolean =false;static function OnBeforeRequest(oSession:Session){
...//Below a bunch of other predefined rulesif(m_SlowNegotiateRequest&& oSession.RequestHeaders.RequestPath.IndexOf("signalr/negotiate")!==-1){// Delay sends by 100000000ms per KB uploaded.//100000000 is meant to represent an arbitrarily long time
oSession["request-trickle-delay"]="100000000";}}
Install Fiddler
Add Custom Rule Defined Above
Enable Custom Rule via the Rules Menu in Fiddler
Start the .NET SignalR Client
See that the Request never completes in a failure or success
Slow Response
//At the Top of the Fiddler Custom Rules Definitionpublicstatic RulesOption("Slow Negotiate Response")
BindPref("fiddlerscript.rules.SlowNegotiateResponse")varm_SlowNegotiateResponse: boolean =false;static function OnBeforeRequest(oSession:Session){
...//Below a bunch of other predefined rulesif(m_SlowNegotiateResponse&& oSession.RequestHeaders.RequestPath.IndexOf("signalr/negotiate")!==-1){// Delay sends by 100000000ms per KB uploaded.//100000000 is meant to represent an arbitrarily long time
oSession["response-trickle-delay"]="100000000";}}
Install Fiddler
Add Custom Rule Defined Above
Enable Custom Rule via the Rules Menu in Fiddler
Start the .NET SignalR Client
See that the Request never completes in a failure or success
Expected result
Negotiate to fail with a timeout error after x seconds and return error on start task.
Actual result
The connection waits for the negotiate response but never receives it or times out
The text was updated successfully, but these errors were encountered:
This issue has been closed as part of issue clean-up as described in https://blogs.msdn.microsoft.com/webdev/2018/09/17/the-future-of-asp-net-signalr/. If you're still encountering this problem, please feel free to re-open and comment to let us know! We're still interested in hearing from you, the backlog just got a little big and we had to do a bulk clean up to get back on top of things. Thanks for your continued feedback!
.NET Client negotiate does not timeout on slow response or request
This was first observed in our own diagnostic logging as a connection transitioning from disconnected to connecting but never transitioning back to disconnected or connected
Functional impact
Negotiate never succeeds or fails and no underlying transport is started.
Minimal repro steps
To replicate this in a minimal sample we have use Fiddler and one of two custom rules
Slow Request
Slow Response
Expected result
Negotiate to fail with a timeout error after x seconds and return error on start task.
Actual result
The connection waits for the negotiate response but never receives it or times out
The text was updated successfully, but these errors were encountered: