SignalR falls back to long polling on port 80 - asp.net

Does anyone have an idea why on a deployment server(Windows 2008 R2 64bit, IIS7.5) SignalR(1.0.0.0 rc1) would fall back to long polling on port 80 but use SSE if the site is configured on a different port?
I don't touch the software - just change the bindings of the site to port 8081 and watch the client logs.
Port 80:
[19:28:15 GMT+0200 (FLE Standard Time)] SignalR: Negotiating with '/signalr/negotiate'. jquery.signalR-1.0.0-rc1.min.js:10
[19:28:15 GMT+0200 (FLE Standard Time)] SignalR: Attempting to connect to SSE endpoint 'http://192.168.10.91/signalr/connect?transport=serverSentEvents&connectionId=0e082fb2-d94d-4907-9579-b4ccde10816d&connectionData=%5B%7B%22name%22%3A%22onair%22%7D%5D&tid=8' jquery.signalR-1.0.0-rc1.min.js:10
[19:28:18 GMT+0200 (FLE Standard Time)] SignalR: EventSource timed out trying to connect jquery.signalR-1.0.0-rc1.min.js:10
[19:28:18 GMT+0200 (FLE Standard Time)] SignalR: EventSource readyState: 0 jquery.signalR-1.0.0-rc1.min.js:10
[19:28:18 GMT+0200 (FLE Standard Time)] SignalR: EventSource calling close() jquery.signalR-1.0.0-rc1.min.js:10
[19:28:18 GMT+0200 (FLE Standard Time)] SignalR: This browser supports SSE, skipping Forever Frame. jquery.signalR-1.0.0-rc1.min.js:10
4
Object {Name: "WindowMain", Dock: 2, EleID: "mainContainer", Children: Array[5]}
jquery.layoutengine.js:52
[19:28:18 GMT+0200 (FLE Standard Time)] SignalR: Attempting to connect to 'http://192.168.10.91/signalr/connect?transport=longPolling&connectionId=0e082fb2-d94d-4907-9579-b4ccde10816d&connectionData=%5B%7B%22name%22%3A%22onair%22%7D%5D&tid=8' using longPolling.
port 8081
[19:28:04 GMT+0200 (FLE Standard Time)] SignalR: Negotiating with '/signalr/negotiate'. jquery.signalR-1.0.0-alpha2.min.js:10
[19:28:04 GMT+0200 (FLE Standard Time)] SignalR: Attempting to connect to SSE endpoint 'http://192.168.10.91:8081/signalr/connect?transport=serverSentEvents&connectionId=08b410ad-7be1-4a94-be02-c713df035c98&connectionData=%5B%7B%22name%22%3A%22onair%22%7D%5D&tid=9' jquery.signalR-1.0.0-alpha2.min.js:10
[19:28:04 GMT+0200 (FLE Standard Time)] SignalR: EventSource connected jquery.signalR-1.0.0-alpha2.min.js:10
[19:28:04 GMT+0200 (FLE Standard Time)] SignalR: Now monitoring keep alive with a warning timeout of 40000 and a connection lost timeout of 60000 jquery.signalR-1.0.0-alpha2.min.js:10

Related

signalr failed to connect to LongPolling or serverSentEvents transport when using sqlserver scaleout

When i am using sqlserver scaleout with signalr GlobalHost.DependencyResolver.UseSqlServer, it failed to connect to LongPolling or serverSentEvents transport.
Anyone faced this error before, i am using signalr 2.2.1 and signalr.sqlserver 2.2.1.
here is my full code in owin startup class
GlobalHost.Configuration.TransportConnectTimeout = TimeSpan.FromSeconds(30);
string sqlConnectionString = "Server=NCBCDEV;Database=SignalR2;Integrated
Security=true"; SqlScaleoutConfiguration sqlcon = new
SqlScaleoutConfiguration(sqlConnectionString);
GlobalHost.DependencyResolver.UseSqlServer(sqlcon ); app.MapSignalR();
GlobalHost.DependencyResolver.Register(typeof(Microsoft.AspN‌​et.SignalR.Hubs.IAss‌​emblyLocator), () => new AssemblyLocator());
EventSource connected:
13:59:38.277 :82/signalr/hubs/connect?transport=serverSentEvents&clientProtocol=1.5&conn…48Kldg%3D%3D&connectionData=%5B%7B%22name%22%3A%22chathub%22%7D%5D&tid=0:1 GET http://ncbcdev:82/signalr/hubs/connect?transport=serverSentEvents&clientPro…zC48Kldg%3D%3D&connectionData=%5B%7B%22name%22%3A%22chathub%22%7D%5D&tid=0 net::ERR_CONNECTION_RESET
13:59:38.278
SignalR: serverSentEvents transport failed to connect. Attempting to fall back.
longPolling transport starting.
SignalR: longPolling transport failed to connect. Attempting to fall back.
13:59:52.655 jquery.signalR-2.2.1.min.js:9 [13:59:52 GMT+0300 (Arab Standard Time)] SignalR: Fallback transports exhausted.

SignalR with service fabric: work flawlessly locally, so-so on azure cluster

I need some advice for a problem happening randomly.
I built a service fabric app using asp.net core (kestrel server) + signalR server 3.0 rc1 and signalR JS 2.2.0 on the client side.
Everything work flawlessly when I am running the app on my local dev machine with the cluster emulator, but when I move the app on the cluster on azure (party cluster) it works only 20% of the time with no particular difference on the 5 nodes (works and fail equally on all the nodes).
Anyone have an idea of why this is happening? The thing that comes into my mind is that the cluster in azure is behind a load balancer that distributes the requests equally on the 5 nodes, but why sometime fails and some other works?? I copied the signalR log from the javascript console if that can give a better idea of what is going on. Thank you so much for giving a look.
This is the successful log
[14:24:18 GMT+0200 (W. Europe Daylight Time)] SignalR: Client subscribed to hub 'sigrhub'.
[14:24:18 GMT+0200 (W. Europe Daylight Time)] SignalR: Negotiating with '/signalr/negotiate?clientProtocol=1.5&connectionData=%5B%7B%22name%22%3A%22sigrhub%22%7D%5D'.
[14:24:18 GMT+0200 (W. Europe Daylight Time)] SignalR: webSockets transport starting.
[14:24:18 GMT+0200 (W. Europe Daylight Time)] SignalR: Connecting to websocket endpoint 'ws://party47790.westus.cloudapp.azure.com:8505/signalr/connect?transport=webSockets&clientProtocol=1.5&connectionToken=CfDJ8O6y2JZ%2FleBLogES7fVXm2gLdJZ%2FpJL5l3%2BHD9%2BPeOnWwGeUQ15wsHOUi%2FD2lvu3Ik%2B1AGHBqBF90loShuhVbAKdSS0oVA2Gr%2F9fF8n0kDCQ%2BHwbjGEJ2VG7Ec%2FTG1ldPiYLBlZMyI9q%2Bm08jmstc6vQfkRo8Cn5rwhMbZXdXj1W&connectionData=%5B%7B%22name%22%3A%22sigrhub%22%7D%5D&tid=4'.
[14:24:18 GMT+0200 (W. Europe Daylight Time)] SignalR: Websocket opened.
[14:24:19 GMT+0200 (W. Europe Daylight Time)] SignalR: webSockets transport connected. Initiating start request.
[14:24:19 GMT+0200 (W. Europe Daylight Time)] SignalR: The start request succeeded. Transitioning to the connected state.
[14:24:19 GMT+0200 (W. Europe Daylight Time)] SignalR: Now monitoring keep alive with a warning timeout of 13333.333333333332, keep alive timeout of 20000 and disconnecting timeout of 30000
[14:24:20 GMT+0200 (W. Europe Daylight Time)] SignalR: Triggering client hub event 'broadcastMessage' on hub 'SigrHub'.
[14:24:27 GMT+0200 (W. Europe Daylight Time)] SignalR: Triggering client hub event 'broadcastMessage' on hub 'SigrHub'.
and this the failure log
[14:42:42 GMT+0200 (W. Europe Daylight Time)] SignalR: Client subscribed to hub 'sigrhub'.
[14:42:42 GMT+0200 (W. Europe Daylight Time)] SignalR: Negotiating with '/signalr/negotiate?clientProtocol=1.5&connectionData=%5B%7B%22name%22%3A%22sigrhub%22%7D%5D'.
[14:42:42 GMT+0200 (W. Europe Daylight Time)] SignalR: webSockets transport starting.
[14:42:42 GMT+0200 (W. Europe Daylight Time)] SignalR: Connecting to websocket endpoint 'ws://party47790.westus.cloudapp.azure.com:8505/signalr/connect?transport=webSockets&clientProtocol=1.5&connectionToken=CfDJ8Mx7bLnzN7NAmuxkHBVB9jPnnWRQPXr7sRt54283Qr7ihhaS%2FXD97yxHXP1jiAtKI4HdWWrACChXbNQJz0dEPl9i2ECgqrIIl0YFYSc0amvylrO9KoFaTgrVemNfKGy%2FwM5dALU7dLz3Kv%2BL%2BBfHKzOX0TbpwMdlqutAOvVBELIQ&connectionData=%5B%7B%22name%22%3A%22sigrhub%22%7D%5D&tid=10'.
SCRIPT12008: WebSocket Error: Incorrect HTTP response. Status code 400, Bad Request
[14:42:43 GMT+0200 (W. Europe Daylight Time)] SignalR: Websocket closed.
[14:42:43 GMT+0200 (W. Europe Daylight Time)] SignalR: Closing the Websocket.
[14:42:43 GMT+0200 (W. Europe Daylight Time)] SignalR: webSockets transport failed to connect. Attempting to fall back.
[14:42:43 GMT+0200 (W. Europe Daylight Time)] SignalR: serverSentEvents transport starting.
[14:42:43 GMT+0200 (W. Europe Daylight Time)] SignalR: This browser doesn't support SSE.
[14:42:43 GMT+0200 (W. Europe Daylight Time)] SignalR: serverSentEvents transport failed to connect. Attempting to fall back.
[14:42:43 GMT+0200 (W. Europe Daylight Time)] SignalR: foreverFrame transport starting.
[14:42:43 GMT+0200 (W. Europe Daylight Time)] SignalR: Binding to iframe's load event.
[14:42:43 GMT+0200 (W. Europe Daylight Time)] SignalR: Forever frame iframe finished loading and is no longer receiving messages.
[14:42:43 GMT+0200 (W. Europe Daylight Time)] SignalR: Error occured when stopping foreverFrame transport. Message = Permission denied.
[14:42:43 GMT+0200 (W. Europe Daylight Time)] SignalR: Stopping forever frame.
[14:42:43 GMT+0200 (W. Europe Daylight Time)] SignalR: foreverFrame transport failed to connect. Attempting to fall back.
[14:42:43 GMT+0200 (W. Europe Daylight Time)] SignalR: longPolling transport starting.
[14:42:43 GMT+0200 (W. Europe Daylight Time)] SignalR: Opening long polling request to 'http://party47790.westus.cloudapp.azure.com:8505/signalr/connect?transport=longPolling&clientProtocol=1.5&connectionToken=CfDJ8Mx7bLnzN7NAmuxkHBVB9jPnnWRQPXr7sRt54283Qr7ihhaS%2FXD97yxHXP1jiAtKI4HdWWrACChXbNQJz0dEPl9i2ECgqrIIl0YFYSc0amvylrO9KoFaTgrVemNfKGy%2FwM5dALU7dLz3Kv%2BL%2BBfHKzOX0TbpwMdlqutAOvVBELIQ&connectionData=%5B%7B%22name%22%3A%22sigrhub%22%7D%5D'.
[14:42:43 GMT+0200 (W. Europe Daylight Time)] SignalR: longPolling transport failed to connect. Attempting to fall back.
[14:42:43 GMT+0200 (W. Europe Daylight Time)] SignalR: Fallback transports exhausted.
[14:42:43 GMT+0200 (W. Europe Daylight Time)] SignalR: Stopping connection.
[14:42:43 GMT+0200 (W. Europe Daylight Time)] SignalR: Fired ajax abort async = true.
[14:42:43 GMT+0200 (W. Europe Daylight Time)] SignalR: LongPolling failed to connect.

SignalR, Server side methods can be called, but client side methods cannot, only in production environment

I have successfully developed an hub for my newsletter sending function in a .net website.
The server procedure is called by the hub, then during the sending routine, I send a client methods to report the progress status, and finally another client method to report ending of the routine.
My dev environment is win10 with IIS 10, VS2013, .NET 4.5 SignalR 2.2.0.
I can use websocket in my dev and work fine, but my production server is win 2008r2 (IIS 7.5), so I must use serverSentEvents, working as well on dev.
Here my client code:
$.connection.hub.logging = true;
hubConn = $.connection.newsletterHub;
hubConn.client.addProgress = function (perc, label) {
UpdateProgress(perc, label)
}
hubConn.client.raiseError = function (message) {
alert(message);
}
hubConn.client.finishSent = function (D) {
Sent(D);
}
hubConn.client.notify = function (msg) {
console.log(msg);
}
$.connection.hub.start({ transport: ['serverSentEvents'] }).done(function () {
ishubdone = true;
});
And my Hub class:
public class NewsletterHub : Hub, IRequiresSessionState
{
public void DoSendReal()
{
// other stuff
foreach (string mre in tosend_Manual)
{
// other stuff
Clients.Caller.addProgress(((decimal)cur / (decimal)tc), string.Format("{0}Emails", cur));
}
// other stuff
Clients.Caller.finishSent(R.ToString());
}
}
And my Owin Startup:
using System;
using System.Threading.Tasks;
using Microsoft.Owin;
using Owin;
using Microsoft.AspNet.SignalR;
[assembly: OwinStartup(typeof(Shopper.OwinStartup))]
public static partial class Shopper
{
public class OwinStartup
{
public void Configuration(IAppBuilder app)
{
var hubConfiguration = new HubConfiguration();
hubConfiguration.EnableDetailedErrors = true;
app.MapSignalR();
}
}
}
Here is chrome log in development environment, all work fine, server invoked, client methods triggered:
[13:01:18 GMT+0100] SignalR: Client subscribed to hub 'newsletterhub'.
[13:01:18 GMT+0100] SignalR: Negotiating with '/signalr/negotiate?clientProtocol=1.5&connectionData=%5B%7B%22name%22%3A%22newsletterhub%22%7D%5D'.
[13:01:18 GMT+0100] SignalR: serverSentEvents transport starting.
[13:01:18 GMT+0100] SignalR: Attempting to connect to SSE endpoint 'http://barzo.topten/signalr/connect?transport=serverSentEvents&clientProtoc…VOMDrrj&connectionData=%5B%7B%22name%22%3A%22newsletterhub%22%7D%5D&tid=10'.
[13:01:18 GMT+0100] SignalR: EventSource connected.
[13:01:18 GMT+0100] SignalR: serverSentEvents transport connected. Initiating start request.
[13:01:18 GMT+0100] SignalR: The start request succeeded. Transitioning to the connected state.
[13:01:18 GMT+0100] SignalR: Now monitoring keep alive with a warning timeout of 13333.333333333332, keep alive timeout of 20000 and disconnecting timeout of 30000
[13:01:26 GMT+0100] SignalR: Invoking newsletterhub.DoSend
[13:01:30 GMT+0100] SignalR: Triggering client hub event 'addProgress' on hub 'NewsletterHub'.
[13:01:30 GMT+0100] SignalR: Triggering client hub event 'finishSent' on hub 'NewsletterHub'.
[13:01:30 GMT+0100] SignalR: Invoked newsletterhub.DoSend
On production environment, only server invoke is made, the procedure working fine (emails sended), but client method are not triggered:
[12:58:38 GMT+0100] SignalR: Client subscribed to hub 'newsletterhub'.
[12:58:38 GMT+0100] SignalR: Negotiating with '/signalr/negotiate?clientProtocol=1.5&connectionData=%5B%7B%22name%22%3A%22newsletterhub%22%7D%5D'.
[12:58:38 GMT+0100] SignalR: serverSentEvents transport starting.
[12:58:38 GMT+0100] SignalR: Attempting to connect to SSE endpoint 'http://www.topten-italia.com/signalr/connect?transport=serverSentEvents&cli…v5PQ4%3D&connectionData=%5B%7B%22name%22%3A%22newsletterhub%22%7D%5D&tid=9'.
[12:58:38 GMT+0100] SignalR: EventSource connected.
[12:58:38 GMT+0100] SignalR: serverSentEvents transport connected. Initiating start request.
[12:58:39 GMT+0100] SignalR: The start request succeeded. Transitioning to the connected state.
[12:58:39 GMT+0100] SignalR: Now monitoring keep alive with a warning timeout of 13333.333333333332, keep alive timeout of 20000 and disconnecting timeout of 30000
[13:00:14 GMT+0100] SignalR: Invoking newsletterhub.DoSend
[13:00:17 GMT+0100] SignalR: Invoked newsletterhub.DoSend
My code is precompiled, in development environment both source code and compiled work, in production compiled code not work.
I have also tried to use Clients.Client(Context.ConnectionId) instead of Clients.Caller with same behavior.
I have read the StackOverflow articled linked in faq.
What can I do to verify why the client methods are not triggered?
Best regards
I found the solution! My production environment has an app pool configured to work in webgarden (multiprocess), so SignalR doesent work properly. In this article the detailed procedure to enable sql server backbone scaleout config to working with SignalR and webgarden. This stackoverflow guided me to find the solution.

SignalR - WebSocket Error: Network Error 12030, The connection with the server was terminated abnormally

Trying to get SignalR working on the webserver(IIS 8, Server 2012, websockets installed, .NET 4.5) but having no joy.
Works great on my local IIS(windows 8 and connects with websockets)
<httpRuntime targetFramework="4.5"/>
and
<compilation strict="false" explicit="true" targetFramework="4.5" debug="false">
Set in webconfig
Local signalr logging:
[11:26:17 GMT+0000 (GMT Standard Time)] SignalR: Client subscribed to hub 'notificationhub'.
[11:26:17 GMT+0000 (GMT Standard Time)] SignalR: Negotiating with '/signalr/negotiate?clientProtocol=1.5&connectionData=%5B%7B%22name%22%3A%22notificationhub%22%7D%5D'.
[11:26:17 GMT+0000 (GMT Standard Time)] SignalR: webSockets transport starting.
[11:26:17 GMT+0000 (GMT Standard Time)] SignalR: Connecting to websocket endpoint 'ws://localhost:22038/signalr/connect?transport=webSockets&clientProtocol=1.5&connectionToken=W5PmClxV6R32xJpuP5It2NUDVvJXOESGJCrgQYb67z59ODUJFr13zQzgBgTYEfmr4XbgMmRGU3ZncQS3yZU2Hmh%2Fc3h%2F17fh9gRlUOUdnaVYcnls%2BQon%2F7R0ckNw8MnLcrG1pg%3D%3D&connectionData=%5B%7B%22name%22%3A%22notificationhub%22%7D%5D&tid=3'.
[11:26:17 GMT+0000 (GMT Standard Time)] SignalR: Websocket opened.
[11:26:17 GMT+0000 (GMT Standard Time)] SignalR: webSockets transport connected. Initiating start request.
[11:26:18 GMT+0000 (GMT Standard Time)] SignalR: The start request succeeded. Transitioning to the connected state.
[11:26:18 GMT+0000 (GMT Standard Time)] SignalR: Now monitoring keep alive with a warning timeout of 13333.333333333332, keep alive timeout of 20000 and disconnecting timeout of 30000
hub start, connection id=01b7a623-5531-496c-a5e1-ab0876e2c1a6
Server log:
[11:24:01 GMT+0000 (GMT Standard Time)] SignalR: Client subscribed to hub 'notificationhub'.
[11:24:01 GMT+0000 (GMT Standard Time)] SignalR: Negotiating with '/signalr/negotiate?clientProtocol=1.5&connectionData=%5B%7B%22name%22%3A%22notificationhub%22%7D%5D'.
[11:24:02 GMT+0000 (GMT Standard Time)] SignalR: webSockets transport starting.
[11:24:02 GMT+0000 (GMT Standard Time)] SignalR: Connecting to websocket endpoint 'ws://foo.co.uk/signalr/connect?transport=webSockets&clientProtocol=1.5&connectionToken=uibfnMomSreytNZY7UiusFWoTjNWO6%2FNIaBzIM%2FVVSBOXk6SNlyULUH%2FaGWoPynoEbx6sKRfShJG0zrd846uqgdgEK6xQIP2K5j3xfwtBlngGG3i6k%2FYoHNk5subReA3TsCxfw%3D%3D&connectionData=%5B%7B%22name%22%3A%22notificationhub%22%7D%5D&tid=10'.
[11:24:03 GMT+0000 (GMT Standard Time)] SignalR: Websocket opened.
SCRIPT12030: WebSocket Error: Network Error 12030, The connection with the server was terminated abnormally
[11:24:03 GMT+0000 (GMT Standard Time)] SignalR: Unclean disconnect from websocket: [no reason given].
[11:24:03 GMT+0000 (GMT Standard Time)] SignalR: Closing the Websocket.
[11:24:03 GMT+0000 (GMT Standard Time)] SignalR: webSockets transport failed to connect. Attempting to fall back.
[11:24:03 GMT+0000 (GMT Standard Time)] SignalR: serverSentEvents transport starting.
[11:24:03 GMT+0000 (GMT Standard Time)] SignalR: This browser doesn't support SSE.
[11:24:03 GMT+0000 (GMT Standard Time)] SignalR: serverSentEvents transport failed to connect. Attempting to fall back.
[11:24:03 GMT+0000 (GMT Standard Time)] SignalR: foreverFrame transport starting.
[11:24:03 GMT+0000 (GMT Standard Time)] SignalR: Binding to iframe's load event.
[11:24:03 GMT+0000 (GMT Standard Time)] SignalR: Iframe transport started.
[11:24:03 GMT+0000 (GMT Standard Time)] SignalR: foreverFrame transport connected. Initiating start request.
[11:24:03 GMT+0000 (GMT Standard Time)] SignalR: The start request succeeded. Transitioning to the connected state.
[11:24:03 GMT+0000 (GMT Standard Time)] SignalR: Now monitoring keep alive with a warning timeout of 13333.333333333332, keep alive timeout of 20000 and disconnecting timeout of 30000
hub start, connection id=cd2af7f4-5f85-40bb-a0a6-f8f8060bedae
Even though it appears to be connected using foreverFrame it does not fire the appropriate hub responses.
Nondescript errors like this can occur if there are JSON serialization problems on the server. I would expect a proper exception for most normal exceptions.
In my case I made a really stupid mistake and had TWO properties with the same JsonProperty name in my return message (server side). Basically a cut and paste error that took a while to be noticed because 'SuggestedCities' wan't always populated.
public class ValidateZipStateResponse
{
[JsonProperty("correctedCity")]
public string CorrectedCity { get; set; }
[JsonProperty("correctedState")]
public string CorrectedState { get; set; }
[JsonProperty("correctedState")]
public string[] SuggestedCities { get; set; }
}
Make sure client side you enable debugging. It won't help with this error, but in general it's quite useful and you'll see a useful log in the browser console.
$.connection.hub.logging = true;
After trying the website on my home connection I found it connected to websockets fine.
So I am going to assume there is some kind of Proxy server inbetween my "work" pc and the web server. Of which I have no access to. (Assuming Proxy server over Firewall here).
[10:33:15 GMT+0000 (GMT Standard Time)] SignalR: Client subscribed to
hub 'notificationhub'.
[10:33:15 GMT+0000 (GMT Standard Time)] SignalR: Negotiating with
'/signalr/negotiate?clientProtocol=1.5&connectionData=%5B%7B%22name%22%3A%22notificationhub%22%7D%5D'.
[10:33:16 GMT+0000 (GMT Standard Time)] SignalR: webSockets transport
starting. [10:33:16 GMT+0000 (GMT Standard Time)] SignalR: Connecting
to websocket endpoint
'ws://blah/signalr/connect?transport=webSockets&clientProtocol=1.5&connectionToken=IxxvgxBhvbsruv2uk0pK%2FPB708bJGvoOJD0oR0vVPgBip%2B7uGy68HEMOw1ikq7%2BuiyX7XqN%2FwYK%2BKgkrBlz9HHuI5HSDQEwRHvSr2Ey1pg2B7FaviRLFcNu8mg2dRWHVKbAkdw%3D%3D&connectionData=%5B%7B%22name%22%3A%22notificationhub%22%7D%5D&tid=6'.
[10:33:16 GMT+0000 (GMT Standard Time)] SignalR: Websocket opened.
[10:33:16 GMT+0000 (GMT Standard Time)] SignalR: webSockets transport
connected. Initiating start request. [10:33:16 GMT+0000 (GMT Standard
Time)] SignalR: The start request succeeded. Transitioning to the
connected state. [10:33:16 GMT+0000 (GMT Standard Time)] SignalR: Now
monitoring keep alive with a warning timeout of 13333.333333333332,
keep alive timeout of 20000 and disconnecting timeout of 30000 hub
start, connection id=7f3eba16-9e7b-450e-a740-a69fa91047b6

SignalR disconnect issue in version 1.1.2

I am using signalr 1.1.2 version. Signalr server is hosted as asp.netweb API (REST service).
SignalR client is javascript.
I am facing an issue related to reconnecting signalr clients. Everytime I recycle the application pool of the REST service or change web.config file of Rest service , my signalr client closes the current websocket, tries to reconnect, it does get reconnected but then after a while i get the message on client
"Couldn't reconnect within the configured timeout (100000ms), "
I have configred the disconnecttimeout on server to be 100 seconds.
GlobalHost.Configuration.DisconnectTimeout = 100;
Here is the client log:
[10:39:21 GMT+0100 (GMT Daylight Time)] SignalR: Websocket closed jquery.signalR-1.1.2.min.js?v=20130903071956:10
[10:39:23 GMT+0100 (GMT Daylight Time)] SignalR: Closing the Websocket jquery.signalR-1.1.2.min.js?v=20130903071956:10
[10:39:23 GMT+0100 (GMT Daylight Time)] SignalR: webSockets reconnecting jquery.signalR-1.1.2.min.js?v=20130903071956:10
[10:39:23 GMT+0100 (GMT Daylight Time)] SignalR: Connecting to websocket endpoint 'ws://dev.fmdc.com:6756/Push/signalr/reconnect?transport=webSockets&connectionToken=-yPgnSfqKCkoHAHtgqoSY8RA4dmu4sZDZS545DEFUfXGJP-4J0fmp3Tw9NlEWpQSdOoWtsm70t1wikpZCvgmD4YzD1dwS-UNFUDXV-2Q954Qh6TZ0&connectionData=%5B%7B%22name%22%3A%22notifierhub%22%7D%5D&messageId=B%2C4%7CR%2C1%7CS%2C0%7CT%2C0&u=1048635&a=1094328&tid=0' jquery.signalR-1.1.2.min.js?v=20130903071956:10
[10:39:26 GMT+0100 (GMT Daylight Time)] SignalR: Closing the Websocket jquery.signalR-1.1.2.min.js?v=20130903071956:10
[10:39:26 GMT+0100 (GMT Daylight Time)] SignalR: webSockets reconnecting jquery.signalR-1.1.2.min.js?v=20130903071956:10
[10:39:26 GMT+0100 (GMT Daylight Time)] SignalR: Connecting to websocket endpoint 'ws://dev.fmdc.com:6756/Push/signalr/reconnect?transport=webSockets&connectionToken=-yPgnSfqKCkoHAHtgqoSY8RA4dmu4sZDZS545DEFUfXGJP-4J0fmp3Tw9NlEWpQSdOoWtsm70t1wikpZCvgmD4YzD1dwS-UNFUDXV-2Q954Qh6TZ0&connectionData=%5B%7B%22name%22%3A%22notifierhub%22%7D%5D&messageId=B%2C4%7CR%2C1%7CS%2C0%7CT%2C0&u=1048635&a=1094328&tid=5' jquery.signalR-1.1.2.min.js?v=20130903071956:10
[10:39:53 GMT+0100 (GMT Daylight Time)] SignalR: Websocket opened jquery.signalR-1.1.2.min.js?v=20130903071956:10
[10:39:54 GMT+0100 (GMT Daylight Time)] SignalR: Triggering client hub event 'rejoined' on hub 'NotifierHub'. jquery.signalR-1.1.2.min.js?v=20130903071956:10
[10:41:03 GMT+0100 (GMT Daylight Time)] SignalR: Couldn't reconnect within the configured timeout (100000ms), disconnecting. jquery.signalR-1.1.2.min.js?v=20130903071956:10
[10:41:03 GMT+0100 (GMT Daylight Time)] SignalR: Stopping the monitoring of the keep alive jquery.signalR-1.1.2.min.js?v=20130903071956:10
[10:41:03 GMT+0100 (GMT Daylight Time)] SignalR: Closing the Websocket jquery.signalR-1.1.2.min.js?v=20130903071956:10
This issue was not happening with previous version of SignalR.(i.e. 1.0.0 rc1)

Resources