gpt4 book ai didi

.net - 无法将参数传递给 Windsor Typed Factory Facility

转载 作者:行者123 更新时间:2023-12-04 11:43:59 24 4
gpt4 key购买 nike

我有一个 IRunningTaskFactory,它使用 Typed Factory Facility 在 Windsor AsFactory() 中注册。该接口(interface)有一个方法,如下所示:

RunningTask Create(ITask task);

RunningTask 在 Windsor 注册为 transient 的地方有一个构造函数:
public RunningTask(ITask task, ITaskConfigurationFactory taskConfigurationFactory)

其中 ITaskConfigurationFactory 也在 Windsor 中注册。

我遇到的问题是,当我调用 Create 方法并传递 ITask 时,我收到以下错误:

Castle.MicroKernel.Resolvers.DependencyResolverException : Missing dependency. Component Husky.nHuskyTasker.Core.Tasks.RunningTask has a dependency on Husky.nHuskyTasker.Core.Tasks.ITask, which could not be resolved. Make sure the dependency is correctly registered in the container as a service, or provided as inline argument



根据我在文档中读到的内容,这应该可以工作。

想法?

最佳答案

我有同样的问题(运行时参数进入类型化工厂没有解析),原来是因为我的工厂上的参数名称和实际类上的构造函数参数的名称不同,所以在调用 .Create() 时它无法解析我的参数的类型化工厂。

该线程通过问题解决:
Can Castle.Windsor TypedFactoryFacility construct a type with only some ref arguments passed inline?

不是很明显,但它是有道理的。

关于.net - 无法将参数传递给 Windsor Typed Factory Facility,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5422193/

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