Strange intermittent SignalR failures when using Azure Servicebus Backplane -


we seeing strange behavior in our development , production environments when using signalr 2.2.0 , using microsoft asp.net signalr service bus messaging backplane with azure service bus instances. service buses seem corrupt , become clogged, , see problems described below.

first, here owin startup code:

public void configuration(iappbuilder app) {     string connectionstring = system.configuration.configurationmanager.appsettings["microsoft.servicebus.connectionstring"];     globalhost.dependencyresolver.useservicebus(connectionstring, "myapplicationname");      // branch pipeline here requests start "/signalr"     app.map("/signalr", map =>     {         map.usecors(corsoptions.allowall);         var hubconfiguration = new hubconfiguration         {             //enablejsonp = true,             enabledetailederrors = true         };         map.runsignalr(hubconfiguration);     }); } 

the symptoms of our problem intermittent failure signalr connect using transport. performance slow compared running no backplane, , verbose logging enabled on signalr client, see message "signalr: websockets transport timed out when trying connect." signalr tries go through rest of transports (forever frames, long polling) , gives up.

here's kicker: of our service bus instances, performance rock solid , never have issues. other service bus instances cause problems described above.

why have multiple service buses? use 1 our app, developers each have service bus instance play with. keeps me @ night azure service bus has corrupted , don't know why.

questions:

  1. has else experienced problem?
  2. have seen service bus instances corrupt or misbehave signalr or other applications?
  3. what account behavior?

this old post, had similar problem had pulling our hair out. occurred when using signalr service bus backplane.

in our exception logs, found following:

the x.509 certificate cn=servicebus.windows.net not in trusted people store. x.509 certificate cn=servicebus.windows.net chain building failed. certificate used has trust chain cannot verified. replace certificate or change certificatevalidationmode. certificate chain not built trusted root authority.

the fix add following line of code in our app startup. us, global.asax.cs:

servicebusenvironment.systemconnectivity.mode = connectivitymode.http; 

after that, our service bus backplane , signalr ran perfectly.

for more in-depth discussion of what's going on, check out post.


Comments

Popular posts from this blog

angularjs - ADAL JS Angular- WebAPI add a new role claim to the token -

php - CakePHP HttpSockets send array of paramms -

node.js - Using Node without global install -