有没有一种方法可以在Azure函数启动之后,从通过依赖注入注入的类中调用一个方法?

ubof19bj  于 2023-02-25  发布在  其他
关注(0)|答案(1)|浏览(158)

我有一个azure函数,它的启动如下所示

internal class Startup : FunctionsStartup
    {
        public override void ConfigureAppConfiguration(IFunctionsConfigurationBuilder builder)
        {

        }

        public override void Configure(IFunctionsHostBuilder builder)
        {
            builder.Services.SomeExtensionMethod();// This will add few services to the service collection.
        }
    }

假设一个函数app下有多个函数,以此作为启动,假设builder.Services.SomeExtensionMethod()中注册的一个服务为IBootstrapService,现在我想在启动执行后立即运行IBootstrapService中的一个方法,有没有办法可以做到这一点?因为Azure函数不支持IHostedService。我不能使用独立函数应用程序,因为我有很多-处理我需要迁移的功能。

3j86kqsm

3j86kqsm1#

检查我的以下发现有助于解决您的问题
我可以看到GitHub中有一个关于Azure Functions .NET Core中IHostedService实现的现有票证。

  • 由于.NET Core支持IHostedService NuGet包,因此Azure Functions进程内项目将支持它。
  • 可以通过builder.services配置的方法实现,运行时先启动功能主机再启动其他服务是比较好的方法。

SO #1-当时,由于一些问题,不支持自定义IHostedService实现,稍后进行了修复。
此外,我可以看到一个类似的问题,关于在微软q&a论坛933834上的Azure函数.NET核心中实现支持IHostedService,MSFT用户@MughundhanRaveendran提供了解决方案。

相关问题