当在主入口点使用WebHostBuilder时,我如何指定它绑定到的端口?

默认情况下,它使用5000。

请注意,这个问题是特定于新的ASP。NET Core API(目前在1.0.0-RC2中)。


当前回答

或者,你也可以通过命令行运行app来指定端口。

简单地运行命令:

dotnet run --server.urls http://localhost:5001

注意:其中5001是要运行的端口。

其他回答

或者,你也可以通过命令行运行app来指定端口。

简单地运行命令:

dotnet run --server.urls http://localhost:5001

注意:其中5001是要运行的端口。

另一种解决方案是使用主机。Json在项目的根目录中。

{
  "urls": "http://localhost:60000"
}

然后在program。cs中

public static void Main(string[] args)
{
    var config = new ConfigurationBuilder()
        .SetBasePath(Directory.GetCurrentDirectory())
        .AddJsonFile("hosting.json", true)
        .Build();

    var host = new WebHostBuilder()
        .UseKestrel(options => options.AddServerHeader = false)
        .UseConfiguration(config)
        .UseContentRoot(Directory.GetCurrentDirectory())
        .UseIISIntegration()
        .UseStartup<Startup>()
        .Build();

    host.Run();
}

你可以在asp.net core 2.1+ appsettings中插入Kestrel section。json文件。

  "Kestrel": {
    "EndPoints": {
      "Http": {
        "Url": "http://0.0.0.0:5002"
      }
    }
  },

如果你没有kestrel部分,你可以使用"urls":

{
    "urls":"http://*.6001;https://*.6002"
}

但如果你在appsettings中有kestrel。Json, url部分将失败。

后续的回答将帮助任何人在VS docker集成中做到这一点。我需要更改到端口8080以使用谷歌appengine中的“灵活”环境运行。

你需要在Dockerfile中添加以下内容:

ENV ASPNETCORE_URLS=http://+:8080
EXPOSE 8080

您需要在docker-compose中修改端口。Yml也是:

    ports:
      - "8080"

在。net Core 3.1上,只需遵循微软的文档,它非常简单:kestrel-aspnetcore-3.1

总结:

Add the below ConfigureServices section to CreateDefaultBuilder on Program.cs: // using Microsoft.Extensions.DependencyInjection; public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureServices((context, services) => { services.Configure<KestrelServerOptions>( context.Configuration.GetSection("Kestrel")); }) .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup<Startup>(); }); Add the below basic config to appsettings.json file (more config options on Microsoft article): "Kestrel": { "EndPoints": { "Http": { "Url": "http://0.0.0.0:5002" } } } Open CMD or Console on your project Publish/Debug/Release binaries folder and run: dotnet YourProject.dll Enjoy exploring your site/api at your http://localhost:5002