gpt4 book ai didi

dependency-injection - 在温莎城堡上携带 CreationContext.AdditionalArguments

转载 作者:行者123 更新时间:2023-12-04 08:23:47 25 4
gpt4 key购买 nike

我需要将一些参数传递给自定义 AbstractLifestyleManager 派生类型。

当我从容器请求一个类型的实例时,我使用以下重载:

T Resolve<T>(string key, object argumentsAsAnonymousType)

例如:
public IHttpController CreateController(HttpControllerContext controllerContext, string controllerName)
{
var controller = this.container.Resolve<IHttpController>(
controllerName,
new { requestProperties = controllerContext.Request.Properties });

// ...
}

然后,在自定义 AbstractLifestyleManager 派生类型中,我可以这样做:
var messageProperties = (IDictionary<string, object>)
context.AdditionalArguments["requestProperties"];

它返回我预先传递的值。

但是,如果我调用 base.Resolve(context, releasePolicy)如果代码以递归方式输入自定义类型,则 AdditionalArguments 为 null。

是否可以在 base.Resolve 之间传递/流动 AdditionalArguments?电话?

最佳答案

在实现生活方式管理器时,我不太确定流程是怎样的,但听起来 CreateContext AdditionalArguments 默认情况下不会传播到子上下文的问题。见 this other question .

如果是这种情况,您可以尝试通过继承 DefaultDependencyResolver 来更改链接问题中描述的默认值。

关于dependency-injection - 在温莎城堡上携带 CreationContext.AdditionalArguments,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10566130/

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