无论是否应该,我们都可以在Azure Functions应用程序中使用IHostedService吗?

这是尝试将托管服务(特别是后台服务)注册为IHostedService:

internal sealed class Startup : FunctionsStartup
{
    public override void Configure(IFunctionsHostBuilder builder)
    {
        builder.Services.AddHostedService<ExampleBackgroundService>();
    }
}

然后,Functions App会引发以下异常:
Microsoft.Azure.WebJobs.Script.InvalidHostServicesException: 'The following service registrations did not match the expected services:
  [Invalid] ServiceType: Microsoft.Extensions.Hosting.IHostedService, Lifetime: Singleton, ImplementationType: ExampleBackgroundService'

最佳答案

不可以,目前尚无法实现。关于此GitHub issue进行了一些讨论:

线程的其余部分有更多详细信息,值得查看更多信息。

关于c# - IHostedService可在Azure Functions应用中使用吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59947132/

10-10 06:32