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相关问答推荐

Docker失败文件找不到

使用PowerShell在Windows容器内安装exe

Azure管道-使用.NET 8 RC2 SDK生成C#项目失败

.NET Async / Await:状态机如何知道何时继续执行?

IIS 发布 ASP.NET Core 应用程序而不关闭 IIS 网站

使属性只能通过绑定的 Editor(component) 编辑

如何确定计时器是否正在运行?

为什么 .Contains 慢?通过主键获取多个实体的最有效方法?

Unity 2.0:如何使用 Resolve 和 ResolverOverride?

使用返回随机结果的函数进行单元测试

使用 C# 清除文本文件的内容

共享 AssemblyInfo 用于跨解决方案的统一版本控制

如何对无法加载的 VSTO 插件进行故障排除?

WCF反序列化如何在不调用构造函数的情况下实例化对象?

资源(.resx)文件有什么好处?

哪个密码字符在 winforms 文本框中显示黑点 (•)?

.NET 进程间通信的最佳 Select 是什么?

是否可以在 XP 上运行 .NET 4.5 应用程序?

使用 LINQ 搜索树

作者主签名的时间戳发现了一个建链问题:UntrustedRoot: self-signed certificate in certificate chain