端口是在端点中定义的,有多种方法可以改变它们:
出于开发目的
您可以更改属性文件夹内的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