使用docker的asp.net core的默认应用程序以两个启动URL开始

时间:2017-09-24 04:55:58

标签: docker asp.net-core-mvc

我通过以下方式创建了一个基本的Asp.net核心2.0 Web应用程序:

新申请=> ASP.Net核心Web应用程序=> Web Application =>  (MVC)=>更改身份验证=>个人用户帐户(已启用泊坞窗)

调试它会给你这个:

enter image description here

这显然会给你一个404,如果你摆脱https://localhost:44360/那么应用程序正在调试那里。我见过this answer,但这对我不起作用。

我根据建议创建了hosting.json

{
  "server": "Microsoft.AspNetCore.Server.Kestrel",
  "server.urls": "http://localhost:4000"
}

我在启动时将其添加到Configure()方法:

var config = new ConfigurationBuilder()
            .AddJsonFile("/app/hosting.json", optional: false)
            .AddEnvironmentVariables(prefix: "ASPNETCORE_")
            .Build();
        var host = new WebHostBuilder()
            .UseConfiguration(config)
            .UseKestrel()
            .UseContentRoot(Directory.GetCurrentDirectory())
            .UseIISIntegration()
            .UseStartup<Startup>()
            .Build();
host.Run();

这并没有解决我的启动问题。我做错了什么或者我需要做些什么来解决这个调试问题?

1 个答案:

答案 0 :(得分:2)

在使用Visual Studio Community 2017创建新项目和安装Docker for Windows后,我看到了同样的问题。

看来,docker-compose属性页面的服务URL属性不好,在我的情况下生成为:http://localhost:{ServicePort}/https://localhost:44339/

解决问题:

  • 右键单击docker-compose项目
  • 选择Properties
  • Service URL替换为:http://localhost:{ServicePort}