绑定可用。匹配绑定:1)绑定自 IInitialUploadFolderCleaner到InitialUploadFolderCleaner 2)绑定 建议:1)确保您已经为 IInitialUploadFolderCleaner仅一次。
BindDefaultInterface() 方法,但是对于这个类,我想添加一个构造函数参数-一个字符串。 为了实现这一点,我想指定显式绑定,希望ninject只在没有找到显式绑定时使用默认绑定。
BindDefaultInterface()
kernel.Bind<IInitialUploadFolderCleaner>().To<InitialUploadFolderCleaner>().WithConstructorArgument("siteRootPath", HostingEnvironment.ApplicationPhysicalPath); kernel.Bind(x => { x.FromAssembliesMatching("MyPrefix.*") .SelectAllClasses() .BindDefaultInterface(); });
然而,事实证明它不是这样工作的,或者它需要一些额外的设置。
您应该能够在基于约定的绑定中排除特定类型,以便仍然可以为它们编写显式绑定。
kernel.Bind<IInitialUploadFolderCleaner>().To<InitialUploadFolderCleaner>().WithConstructorArgument("siteRootPath", HostingEnvironment.ApplicationPhysicalPath); kernel.Bind(x => { x.FromAssembliesMatching("MyPrefix.*") .SelectAllClasses() .Excluding<InitialUploadFolderCleaner>() .BindDefaultInterface(); });