Azure函数:在应用程序启动前初始化阶段不能调用该方法
Azure function: This method cannot be called during the application's pre-start initialization phase
我创建了一个 Azure 函数并创建了一个 class,它使用 Initialize
方法实现 IExtensionConfigProvider
接口,在 [=20] 上执行一些 "bootstrapping" =].引导程序中包含一些 Unity 注册,我在其中使用 BuildManager.GetReferencedAssemblies()
完成约定注册。
但是在调用 BuildManager.GetReferencedAssemblies()
时出现 This method cannot be called during the application's pre-start initialization phase
错误。我什至将这个方法放在实际的函数代码中(所以不是 "start up"),但仍然出现此错误。有什么想法吗?
听起来您正在尝试执行不受支持的操作。 IExtensionConfigProvider.Initialize() 是一个非常受保护的上下文,您无法真正控制它何时 运行s - 它应该只用于注册绑定规则。 Azure Functions 还没有依赖注入支持。
- 如果您有想要早 运行 的代码,可以将其放在静态构造函数中。
- 如果你想要更多的控制,你可以切换到使用底层的 WebJobs SDK(它允许你拥有主要功能)。函数位于 WebJobs SDK 之上。
我创建了一个 Azure 函数并创建了一个 class,它使用 Initialize
方法实现 IExtensionConfigProvider
接口,在 [=20] 上执行一些 "bootstrapping" =].引导程序中包含一些 Unity 注册,我在其中使用 BuildManager.GetReferencedAssemblies()
完成约定注册。
但是在调用 BuildManager.GetReferencedAssemblies()
时出现 This method cannot be called during the application's pre-start initialization phase
错误。我什至将这个方法放在实际的函数代码中(所以不是 "start up"),但仍然出现此错误。有什么想法吗?
听起来您正在尝试执行不受支持的操作。 IExtensionConfigProvider.Initialize() 是一个非常受保护的上下文,您无法真正控制它何时 运行s - 它应该只用于注册绑定规则。 Azure Functions 还没有依赖注入支持。
- 如果您有想要早 运行 的代码,可以将其放在静态构造函数中。
- 如果你想要更多的控制,你可以切换到使用底层的 WebJobs SDK(它允许你拥有主要功能)。函数位于 WebJobs SDK 之上。