IHostBuilder
找不到 ConfigureWebHostDefaults
方法的问题通常出现在使用 .NET Core 时,尤其是在较新的版本中。这个方法在 .NET Core 3.0 及以上版本中被弃用,取而代之的是 CreateDefaultBuilder
方法,它会自动配置 Web 主机。
ConfigureWebHostDefaults
方法在 .NET Core 3.0 及以上版本中被弃用,因此在使用 Visual Studio 的 Worker Service 模板时,会找不到这个方法。
使用 CreateDefaultBuilder
方法来替代 ConfigureWebHostDefaults
。以下是一个示例代码:
using Microsoft.Extensions.Hosting;
public class Program
{
public static void Main(string[] args)
{
CreateHostBuilder(args).Build().Run();
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureServices((hostContext, services) =>
{
services.AddHostedService<Worker>();
});
}
public class Worker : BackgroundService
{
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
while (!stoppingToken.IsCancellationRequested)
{
// 执行后台任务
await Task.Delay(1000, stoppingToken);
}
}
public override void Dispose()
{
// 清理资源
}
}
通过使用 CreateDefaultBuilder
方法,可以确保你的 Worker Service 应用程序在 .NET Core 3.0 及以上版本中正常运行。
领取专属 10元无门槛券
手把手带您无忧上云