Asp.Net 核心 2.2 UseUrls 被忽略
Asp.Net Core 2.2 UseUrls is ignored
我的 Asp.Net Core 2.2
中有以下代码
public class Program
{
public static void Main(string[] args)
{
var urls = new string[] { "https://localhost:3045" };
CreateWebHostBuilder(args, urls).Build().Run();
}
public static IWebHostBuilder CreateWebHostBuilder(string[] args, string[] bindingUrls) =>
WebHost.CreateDefaultBuilder(args)
.ConfigureServices(services => services.AddAutofac())
.ConfigureKestrel(opt =>
{
opt.AddServerHeader = false;
})
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseUrls(bindingUrls)
.UseStartup<Startup>();
}
然而,当我调试网站时,网站是在 https://localhost:44326/
上启动的,为什么在 launchSettings.json 中使用
为什么会这样?
.UseUrls(bindingUrls)
将配置 Kestrel url。
dotnet 核心始终位于 IIS
/IIS Express
后面的 Kestrel 作为代理。您获得的 url 是您的 IIS Express
.
的配置
这 url 可以在您的项目设置或 launchSettings.json
中更改
如果您只想 运行 在 Kestrel 用户上使用 cli 命令 dotnet run
或 dotnet watch run
我的 Asp.Net Core 2.2
中有以下代码public class Program
{
public static void Main(string[] args)
{
var urls = new string[] { "https://localhost:3045" };
CreateWebHostBuilder(args, urls).Build().Run();
}
public static IWebHostBuilder CreateWebHostBuilder(string[] args, string[] bindingUrls) =>
WebHost.CreateDefaultBuilder(args)
.ConfigureServices(services => services.AddAutofac())
.ConfigureKestrel(opt =>
{
opt.AddServerHeader = false;
})
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseUrls(bindingUrls)
.UseStartup<Startup>();
}
然而,当我调试网站时,网站是在 https://localhost:44326/
上启动的,为什么在 launchSettings.json 中使用
为什么会这样?
.UseUrls(bindingUrls)
将配置 Kestrel url。
dotnet 核心始终位于 IIS
/IIS Express
后面的 Kestrel 作为代理。您获得的 url 是您的 IIS Express
.
这 url 可以在您的项目设置或 launchSettings.json
如果您只想 运行 在 Kestrel 用户上使用 cli 命令 dotnet run
或 dotnet watch run