Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 绑定到Heroku dynamic$端口并不断出错?_C#_Docker_Asp.net Core_Heroku - Fatal编程技术网

C# 绑定到Heroku dynamic$端口并不断出错?

C# 绑定到Heroku dynamic$端口并不断出错?,c#,docker,asp.net-core,heroku,C#,Docker,Asp.net Core,Heroku,我一直从heroku日志中得到这个错误: 错误R10(启动超时)->Web进程在启动后60秒内绑定到$PORT失败 我有一个ASP.NET Core 2.1应用程序,我正试图部署到Heroku。这是我在启动时所做的: if (!int.TryParse(Environment.GetEnvironmentVariable("PORT"), out var port)) { port = 5000; } return WebHost .CreateDefaultBuilder(args)

我一直从heroku日志中得到这个错误:

错误R10(启动超时)->Web进程在启动后60秒内绑定到$PORT失败

我有一个ASP.NET Core 2.1应用程序,我正试图部署到Heroku。这是我在启动时所做的:

if (!int.TryParse(Environment.GetEnvironmentVariable("PORT"), out var port))
{ port = 5000; }

return WebHost
    .CreateDefaultBuilder(args)
    .UseStartup<Startup>()
    .UseKestrel(options =>
    {
        options.Listen(IPAddress.Loopback, port);
    });
我可以看到应用程序启动正常,甚至可以看到它成功绑定到
http://127.0.0.1:48684
这意味着它正在获取
$PORT
,但在请求时,我得到了上述错误。我不能使用
EXPOSE$PORT
,因为它是在运行时给出的


这件事我已经纠结了一段时间了。任何帮助都将不胜感激

几分钟后,我发现这个问题解决了我的问题。我将侦听选项更改为
options.listen(IPAddress.Any,port)

if(!int.TryParse(Environment.GetEnvironmentVariable(“端口”),out var PORT))
{port=5000;}
返回网络主机
.CreateDefaultBuilder(args)
.UseStartup()
.UseKestrel(选项=>
{
选项。侦听(IPAddress.Any,端口);
});
FROM microsoft/dotnet:2.1-aspnetcore-runtime
WORKDIR /app
COPY . .

ENV ASPNETCORE_ENVIRONMENT=Production

CMD dotnet MyApp.dll
if (!int.TryParse(Environment.GetEnvironmentVariable("PORT"), out var port))
{ port = 5000; }

return WebHost
    .CreateDefaultBuilder(args)
    .UseStartup<Startup>()
    .UseKestrel(options =>
    {
        options.Listen(IPAddress.Any, port);
    });