首先,我使用的是 Ninject 2.0
我有我想注入的母版页,但我不太确定如何注入。我尝试的是创建一个派生自 System.Web.Mvc.ViewMasterPage 的类,然后创建我的属性:
[Inject]
public ICacheService<List<Category>> Categories { get; set; }
[Inject]
public IConfigurationSettings Config { get; set; }
当我运行我的页面时,两个属性都没有设置并且都是空的。关于如何执行此操作的原因或示例的任何想法?谢谢
- 更新
所以我做了更多的研究,似乎我需要自己解决类中的对象,因为 Ninject 不会拦截类的创建。所以现在我的问题是如何为我的内核创建解析器?上面的代码在一个类库中,所以我没有对内核的引用。我尝试了以下方法:(稍微修改自http://www.codethinked.com/post/2009/10/07/Our-Biggest-Enemy-Isne28099t-Developers-Who-Refuse-To-Move-Forward-It-is -Developers-Who-Pretend-To-Move-Forward.aspx )
public class KernelResolver
{
private static IKernel _kernel;
public KernelResolver(IKernel kernel)
{
_kernel = kernel;
}
public static T Resolve<T>()
{
return _kernel.Get<T>();
}
}
然后注册:
Bind<KernelResolver>().ToSelf()
然而内核是空的......我只需要查看一些示例,但我找不到任何示例,或者可能是我很困惑以至于我不知道我在寻找什么:\
任何帮助深表感谢!