我有一個使用Typed Factory Facility在Windsor AsFactory()中註冊的IRunningTaskFactory。該接口有看起來像這樣一個方法:無法將參數傳遞給Windsor Typed Factory Facility
RunningTask Create(ITask task);
凡RunningTask與溫莎註冊爲短暫有一個構造函數:
public RunningTask(ITask task, ITaskConfigurationFactory taskConfigurationFactory)
其中ITaskConfigurationFactory與溫莎以及註冊。
我遇到的問題是,當我調用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
從我這應該是工作的文檔中讀取。
想法?
現在我已經編寫了自己的RunningTaskFactory,它獲取一個IKernel並用提供的任務調用它,並且工作正常。根據文檔,我沒有做任何工廠不應該做的事情.. – 2011-03-24 16:35:20
你仍然需要爲ITask明確註冊一個組件,我想... – 2011-03-24 18:28:46
我不能。 ITask有N個實現,我不想讓他們訪問我的容器。 – 2011-03-24 19:28:34