1
votes

I have a simple SignalR application that spit outs random number to the clients. I am able to run it using dnx and kestrel on a ubuntu machine but when i deploy the same application in a docker container, it doesn't work in a sense that signalR hubs never get initialized and i don't see it pumping any data. Anyone seen this behavior??

Here is my project.json if it helps

{
"webroot": "wwwroot",
"version": "1.0.0-*",

"dependencies": {
    "Kestrel": "1.0.0-beta5",
    "Microsoft.AspNet.Mvc": "6.0.0-beta5",
    "Microsoft.AspNet.Server.IIS": "1.0.0-beta5",
    "Microsoft.AspNet.Server.WebListener": "1.0.0-beta5",
    "Microsoft.AspNet.StaticFiles": "1.0.0-beta5",
    "DotNetEx.Reactive": "1.0.7",
    "Microsoft.AspNet.SignalR.Server": "3.0.0-beta5"
},

"commands": {
    "web": "Microsoft.AspNet.Hosting --server Microsoft.AspNet.Server.WebListener --server.urls http://localhost:5000",
"kestrel": "Microsoft.AspNet.Hosting --server Kestrel --server.urls http://localhost:5004"
},

"frameworks": {
    "dnx451": { },
    "dnxcore50": { }
}
}

I turned on the trace and increased the transport timeout to 1 min. But it still times out...Is there a way to debug why this is happening?

jquery.signalr-2.1.0.min.js:8 [17:28:05 GMT-0400 (Eastern Daylight Time)] SignalR: This browser supports SSE, skipping Forever Frame. jquery.signalr-2.1.0.min.js:8 [17:28:05 GMT-0400 (Eastern Daylight Time)] SignalR: Opening long polling request to 'http://10.28.51.145:5004/signalr/connect? ... jquery.signalr-2.1.0.min.js:8 [17:29:45 GMT-0400 (Eastern Daylight Time)] SignalR: longPolling timed out when trying to connect. jquery.signalr-2.1.0.min.js:8 [17:29:45 GMT-0400 (Eastern Daylight Time)] SignalR: Aborted xhr request. jquery.signalr-2.1.0.min.js:8 [17:29:45 GMT-0400 (Eastern Daylight Time)] SignalR: Stopping connection.

1

1 Answers

1
votes

microsoft/aspnet docker image inherits from mono which itself inherits from debian:wheezy. I created my own docker file that inherits from ubuntu:1404 and it solved the problem. My guess is that previously it was not configured correctly for web transport protocols.