我将 Ninject.Web 库与我们的 Web 表单应用程序一起使用。它工作得很好,除了现在我需要将依赖项注入(inject)用户控件。完成此任务的最佳方法是什么? Ninject.Web 不像 Web 服务、页面和母版页那样包含基类。
最佳答案
您可以自己为用户控件创建一个基类:
public class NinjectedUserControl : System.Web.UI.UserControl
{
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
RequestActivation();
}
/// <summary>
/// Asks the kernel to inject this instance.
/// </summary>
protected virtual void RequestActivation()
{
KernelContainer.Inject(this);
}
}
我的解决方案中有 Ninject.Web 的源代码,我已将此类添加到 Ninject.Web(因此它可以访问内部的 KernelContainer)。
关于c# - Ninject.Web 和用户控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6062221/