You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过.exe启动ASP.NET Web API并指定自定义地址端口?

如何通过.exe启动ASP.NET Web API并指定自定义地址和端口

下面是几种实用的方法,按推荐程度排序:

方法1:命令行参数指定(灵活方便)

直接在运行.exe时添加--urls参数,指定你需要的地址和端口:

  • 如果是框架依赖部署的项目,运行命令:
    dotnet YourApiProject.dll --urls "http://localhost:8080;https://localhost:8081"
    
  • 如果是自包含部署的项目(直接生成.exe文件),运行命令:
    YourApiProject.exe --urls "http://0.0.0.0:8080"
    
    注意:用0.0.0.0代替localhost可以允许同一局域网内的其他设备访问你的API,多个地址用分号;分隔。

方法2:修改配置文件(持久化配置)

在项目的appsettings.json中添加Kestrel端点配置,这样每次运行.exe都会自动使用指定地址:

{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
    }
  },
  "Kestrel": {
    "Endpoints": {
      "Http": {
        "Url": "http://localhost:8080"
      },
      "Https": {
        "Url": "https://localhost:8081"
      }
    }
  },
  "AllowedHosts": "*"
}

发布项目时,确保appsettings.json和.exe文件放在同一目录下即可。

方法3:代码中配置(不推荐,灵活性差)

如果需要固定端口且不需要后续修改,可以在Program.cs中硬编码Kestrel配置:

var builder = WebApplication.CreateBuilder(args);

// 配置Kestrel监听端口
builder.WebHost.ConfigureKestrel(serverOptions =>
{
    serverOptions.ListenLocalhost(8080); // 监听HTTP本地端口8080
    serverOptions.ListenLocalhost(8081, opts => opts.UseHttps()); // 监听HTTPS本地端口8081
});

// 注册服务...

var app = builder.Build();

// 配置中间件...

app.Run();

这种方法的缺点是修改端口需要重新编译代码,适合测试场景,不推荐生产环境使用。

内容的提问来源于stack exchange,提问作者fanticuell

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 01:32:45