gpt4 book ai didi

c# - Azure 函数中的 Autofac InstancePerRequest 范围

转载 作者:太空宇宙 更新时间:2023-11-03 21:01:39 24 4
gpt4 key购买 nike

我正在尝试注册一个依赖项,以便在每次运行 Eventhub 触发的 Azure 函数时共享一个实例(每次运行 Azure 函数时创建新实例)。

我试过像下面这样注册:

builder.RegisterType<TrialClass>().As<ITrialClass>().InstancePerRequest(); 

但是它没有说

No scope with a tag matching 'AutofacWebRequest' is visible from the scope in which the instance was requested

有没有办法处理这种情况?

.

最佳答案

这里有两个问题:

  1. 如今 Azure Functions 并未真正支持 DI,这使得注册和注入(inject)变得困难。
  2. 事件中心触发的函数不会在 Web 请求的上下文中执行,因此 Autofac 支持的内置每个请求生命周期是行不通的

如果您今天的 Autofac 处于半工作状态,您可以尝试@mjwills 的建议并为给定的调用定义生命周期范围(这不像使用按请求功能那样简单,但可行)。

我们确实在 WebJobs SDK 和 Functions Host/Runtime 中开展工作以增强 DI 故事。一些工作与您可以跟踪的 .NET 核心迁移相关或依赖于它 here .

关于c# - Azure 函数中的 Autofac InstancePerRequest 范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44950536/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com