0

对于具有以下构造的类,构造函数注入效果很好,但不是属性。我还需要在约定中添加什么才能使Inject属性起作用

public partial class Repo
{
     [Inject] 
     public ILogger Logger{get;set;}
}

NInjectWebCommon.cs 中的绑定

private static void RegisterServices(IKernel kernel)
        {
            //Dispose all resource after the requests ends
            kernel.Bind(x => x.FromAssembliesMatching("*").SelectAllClasses().BindAllInterface().Configure(scope=>scope.InRequestScope()));

        }
4

1 回答 1

0

我假设存储库类是由实体框架以某种方式实例化的。因此,如果您不使用 ninject 请求存储库,则需要使用 ninject 构建现有实例。这可以通过Inject内核上的方法来完成。

var kernel = new StandardKernel();
var repo = new Repo();
kernel.Inject(repo);
于 2013-01-09T18:06:35.717 回答