Main入口点中使用WebHostBuilder时,我如何指定它绑定到的端口?

默认情况下,它使用5000.

请注意,这个问题是针对新的ASP.NET核心API(目前为1.0.0-RC2).

推荐答案

在ASP.NET Core 3.1中,有4种主要方式可以指定自定义端口:

  • 使用命令行参数,通过启动.NET应用程序与--urls=[url]:
dotnet run --urls=http://localhost:5001/
  • 使用appsettings.json,通过添加Urls node :
{
  "Urls": "http://localhost:5001"
}
  • 使用环境变量,使用ASPNETCORE_URLS=http://localhost:5001/.
  • 如果您更喜欢以编程方式使用UseUrls():
public static class Program
{
    public static void Main(string[] args) =>
        CreateHostBuilder(args).Build().Run();

    public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .ConfigureWebHostDefaults(builder =>
            {
                builder.UseStartup<Startup>();
                builder.UseUrls("http://localhost:5001/");
            });
}

或者,如果您仍在使用web主机生成器而不是通用主机生成器:

public class Program
{
    public static void Main(string[] args) =>
        new WebHostBuilder()
            .UseKestrel()
            .UseContentRoot(Directory.GetCurrentDirectory())
            .UseIISIntegration()
            .UseStartup<Startup>()
            .UseUrls("http://localhost:5001/")
            .Build()
            .Run();
}

.net相关问答推荐

节省用户在整个应用程序中使用的Flutter

.NET最小API BadRequest响应不返回正文

Npgsql Minimum Pool Size 似乎没有被考虑在内

异步总是 WaitingForActivation

XmlNode 值与内部文本

图像与位图类

InternalsVisibleTo 属性不起作用

如何退出所有正在运行的线程?

有没有办法只在 C# 中设置一次属性

哪个更快:清除集合或实例化新的

C# 的浮点比较函数

System.Speech.Recognition 和 Microsoft.Speech.Recognition 有什么区别?

react 式扩展使用的好例子

监听依赖属性的变化

.Net 中 AOP 的最佳实现是什么?

铸造:(NewType)与对象作为NewType

使用 LINQ 搜索树

如何从 HashSet 中检索实际项目?

C#/.NET 中仅命名空间的类可见性?

如何在我的机器上找到 fuslogvw.exe?