我有一个 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.
}
}
考虑一个函数应用程序下的多个函数,以此作为启动。让 builder.Services.SomeExtensionMethod()
中注册的服务之一为 IBootstrapService
。现在我想在启动执行后立即运行 IBootstrapService 中的一个方法。有没有办法可以做到这一点,因为 azure 函数不支持 IHostedService。 我不能使用独立的函数应用,因为我有很多需要迁移的进程内函数。
最佳答案
检查我的以下发现有助于解决您的问题
我可以看到 GitHub 中有一个关于 Azure Functions .NET Core 中 IHostedService 实现的现有票证。
- 由于 .NET Core 支持 IHostedService NuGet 包,它将在 Azure Functions 进程内项目中受支持。
- 可以在builder.services配置方法中实现,并在运行时启动功能主机,然后再启动其他服务是一个不错的方法。
所以# 1 - 由于某些问题,当时不支持自定义 IHostedService 实现,稍后修复。
此外,我可以在 MS 问答论坛 933834 上看到有关 Azure Functions.NET Core 中 IHostedService 的实现支持的类似问题。 @MughundhanRaveendran 提供了解决方案。
关于c# - 有没有一种方法可以在 azure 函数启动后立即调用通过依赖项注入(inject)注入(inject)的类中的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75519115/