在 HostBuilder 上查找 WebHostBuilder.GetSettings
Find WebHostBuilder.GetSettings on HostBuilder
我有一个 ASP.NET Core 2.2 应用程序,其 Program.cs 文件中包含以下代码:
private static IWebHost BuildWebHost(string[] args)
{
string appDir = Directory.GetCurrentDirectory();
var webHostBuilder = new WebHostBuilder()
.UseKestrel()
.UseContentRoot(appDir)
// and a few more...
.UseStartup<Startup>();
Urls = webHostBuilder.GetSetting(WebHostDefaults.ServerUrlsKey);
return webHostBuilder.Build();
}
现在我正在创建一个 ASP.NET Core 3.1 项目并希望尽可能多地重复使用。另外,老项目总有一天要升级,所以我需要知道如何修改代码。
新项目如下所示:
public static IHostBuilder CreateHostBuilder(string[] args)
{
string appDir = Directory.GetCurrentDirectory();
var hostBuilder = Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
});
Urls = hostBuilder.GetSetting(WebHostDefaults.ServerUrlsKey);
return hostBuilder;
}
这显示错误,因为 hostBuilder.GetSetting
未定义。我找不到任何类似的或其他解决方案。我也不知道原代码是哪里来的
我需要如何修改此代码,以便它可以访问它的 public URL,但是它是如何配置的?
感谢 Crowcoder 的评论,我找到了解决方案。以下代码按预期工作。 WebHostBuilder
现在打包在 HostBuilder.ConfigureWebHostDefaults
方法中。
public static IHostBuilder CreateHostBuilder(string[] args)
{
string appDir = Directory.GetCurrentDirectory();
var hostBuilder = Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
Urls = webBuilder.GetSetting(WebHostDefaults.ServerUrlsKey);
});
return hostBuilder;
}
我有一个 ASP.NET Core 2.2 应用程序,其 Program.cs 文件中包含以下代码:
private static IWebHost BuildWebHost(string[] args)
{
string appDir = Directory.GetCurrentDirectory();
var webHostBuilder = new WebHostBuilder()
.UseKestrel()
.UseContentRoot(appDir)
// and a few more...
.UseStartup<Startup>();
Urls = webHostBuilder.GetSetting(WebHostDefaults.ServerUrlsKey);
return webHostBuilder.Build();
}
现在我正在创建一个 ASP.NET Core 3.1 项目并希望尽可能多地重复使用。另外,老项目总有一天要升级,所以我需要知道如何修改代码。
新项目如下所示:
public static IHostBuilder CreateHostBuilder(string[] args)
{
string appDir = Directory.GetCurrentDirectory();
var hostBuilder = Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
});
Urls = hostBuilder.GetSetting(WebHostDefaults.ServerUrlsKey);
return hostBuilder;
}
这显示错误,因为 hostBuilder.GetSetting
未定义。我找不到任何类似的或其他解决方案。我也不知道原代码是哪里来的
我需要如何修改此代码,以便它可以访问它的 public URL,但是它是如何配置的?
感谢 Crowcoder 的评论,我找到了解决方案。以下代码按预期工作。 WebHostBuilder
现在打包在 HostBuilder.ConfigureWebHostDefaults
方法中。
public static IHostBuilder CreateHostBuilder(string[] args)
{
string appDir = Directory.GetCurrentDirectory();
var hostBuilder = Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
Urls = webBuilder.GetSetting(WebHostDefaults.ServerUrlsKey);
});
return hostBuilder;
}