如何更改我的 .NET core 6 API 的默认端口号
Posted
技术标签:
【中文标题】如何更改我的 .NET core 6 API 的默认端口号【英文标题】:How to change default port no of my .NET core 6 API 【发布时间】:2022-01-16 19:43:03 【问题描述】:我正在尝试从项目的属性部分更改默认端口,但我看不到任何选项。
我正在使用带有 .NET core 6 的 Visual Studio 2022。
【问题讨论】:
这是一个 ASP.NET Core API 吗?还是其他类型的? 是的,是.net core api 我建议添加[asp.net-core]
标签。
哎呀我错过了,谢谢
【参考方案1】:
端口是在端点中定义的,有多种方法可以改变它们:
出于开发目的
您可以更改属性文件夹内的launchSettings.json
文件:
"iisSettings":
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress":
"applicationUrl": "http://localhost:22963",
"sslPort": 44349
,
"profiles":
"UrlTest":
"commandName": "Project",
"dotnetRunMessages": true,
"launchBrowser": true,
"applicationUrl": "https://localhost:7244;http://localhost:5053",
"environmentVariables":
"ASPNETCORE_ENVIRONMENT": "Development"
,
"IIS Express":
"commandName": "IISExpress",
"launchBrowser": true,
"environmentVariables":
"ASPNETCORE_ENVIRONMENT": "Development"
服务器端点
在根目录有一个名为appsettings.json
的文件,你可以更改服务器相关的配置,这是一个Kestrel的例子:
"Logging":
"LogLevel":
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
,
"AllowedHosts": "*",
"Kestrel":
"Endpoints":
"Http":
"Url": "http://localhost:5400"
,
"Https":
"Url": "https://localhost:5401"
从命令行
您可以使用--urls
参数运行应用程序来指定端口:
dotnet run --urls http://localhost:8076
环境变量
您可以设置ASPNETCORE_URLS
。
来自源代码
您可以将 Url 传递给Run
方法:
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
app.MapGet("/", () => "Hello World!");
app.Run("http://localhost:6054");
或UseUrl 扩展方法,但目前由于错误#38185 无法正常工作:
var builder = WebApplication.CreateBuilder(args);
builder.WebHost.UseUrls("http://localhost:3045");
var app = builder.Build();
app.MapGet("/", () => "Hello World!");
app.Run();
来源:
https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel/endpoints?view=aspnetcore-6.0
关于部署的好文档: https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/?view=aspnetcore-6.0
【讨论】:
在 Ubuntu 上使用 Apache 和反向代理尝试了“服务器端点”方法,但没有成功,但使用“来自源代码”工作正常【参考方案2】:您可以从启动配置文件设置中进行设置
点击运行按钮上的下拉菜单。
现在点击调试属性。 单击该启动配置文件窗口将打开。
现在您可以从此处更改应用 URL 的端口。
编辑:添加
您也可以从项目配置文件中更改它,如下所示。
【讨论】:
【参考方案3】:快速解决方案:
if (app.Environment.IsDevelopment())
app.Run();
else
app.Run("http://127.0.0.1:8080");
【讨论】:
以上是关于如何更改我的 .NET core 6 API 的默认端口号的主要内容,如果未能解决你的问题,请参考以下文章
如何通过 ASP.NET Core 3 中的中间 Web API 传递未更改的 HTTP 响应?
如何更改 ASP.NET Core API 中的默认控制器和操作?
如何使用具有最小 API .Net 6 的 Asp.net core Identity 运行迁移(第一次迁移)