結合我的一個接口,一類是否可以使用Ninject約定綁定已存在的接口使用顯式綁定?
錯誤激活IInitialUploadFolderCleaner多個匹配 綁定可當我得到一個NinjectActivationException。匹配綁定:1)從 IInitialUploadFolderCleaner結合InitialUploadFolderCleaner 2)從IInitialUploadFolderCleaner結合 到InitialUploadFolderCleaner 激活路徑:1)請給IInitialUploadFolderCleaner 建議:1)確保你已經定義 IInitialUploadFolderCleaner綁定只有一次。
所以,我使用約定與BindDefaultInterface()
方法綁定,但是對於這個類我想添加一個構造函數參數 - 一個字符串。
爲了達到這個目的,我想指定顯式綁定,希望ninject只會在未找到顯式綁定時使用默認綁定。
kernel.Bind<IInitialUploadFolderCleaner>().To<InitialUploadFolderCleaner>().WithConstructorArgument("siteRootPath", HostingEnvironment.ApplicationPhysicalPath);
kernel.Bind(x =>
{
x.FromAssembliesMatching("MyPrefix.*")
.SelectAllClasses()
.BindDefaultInterface();
});
但是,事實證明,它不能這樣工作,或者它需要一些額外的設置。
我沒有在任何其他地方明確地綁定這個接口,並且當我重命名實現以使它不遵循命名約定時,它工作正常,我得到所有構造函數參數。
不包括!真棒,沒有那個,謝謝! – Bartosz