【问题标题】:SignalR application not working when deployed in docker containerSignalR 应用程序在 docker 容器中部署时无法正常工作
【发布时间】:2015-10-17 21:39:09
【问题描述】:

我有一个简单的 SignalR 应用程序,它向客户端输出随机数。我可以在 ubuntu 机器上使用 dnx 和 kestrel 运行它,但是当我在 docker 容器中部署相同的应用程序时,从某种意义上说它不起作用,signalR 集线器永远不会被初始化,我看不到它泵送任何数据.有人见过这种行为吗??

如果有帮助,这是我的 project.json

{
"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": { }
}
}

我打开了跟踪并将传输超时增加到 1 分钟。但它仍然超时...有没有办法调试为什么会发生这种情况?

jquery.signalr-2.1.0.min.js:8 [17:28:05 GMT-0400(东部夏令时间)] SignalR:此浏览器支持 SSE,跳过 Forever Frame。 jquery.signalr-2.1.0.min.js:8 [17:28:05 GMT-0400 (Eastern Daylight Time)] SignalR: 打开长轮询请求到'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 在尝试连接时超时。 jquery.signalr-2.1.0.min.js:8 [17:29:45 GMT-0400(东部夏令时间)] SignalR:中止 xhr 请求。 jquery.signalr-2.1.0.min.js:8 [17:29:45 GMT-0400(东部夏令时间)] SignalR:停止连接。

【问题讨论】:

    标签: docker signalr dnx .net-core


    【解决方案1】:

    microsoft/aspnet docker 镜像继承自 mono,mono 本身继承自 debian:wheezy。我创建了自己的继承自 ubuntu:1404 的 docker 文件,它解决了这个问题。我的猜测是,以前它没有为网络传输协议正确配置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-01
      • 2019-01-17
      • 1970-01-01
      • 2021-03-25
      • 2018-12-18
      • 2012-09-20
      相关资源
      最近更新 更多