NInject 3 Условные обозначения Атрибут NInject не вводится
Для класса с конструкцией, представленной ниже, внедрение в конструктор работает отлично, но не является свойством. Что еще мне нужно добавить к соглашениям, чтобы сделать 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()));
}
1 ответ
Решение
Я предполагаю, что класс репозитория как-то создается структурой сущностей. Поэтому, если вы не запрашиваете срок репо с помощью ninject, вам нужно создать существующий экземпляр с помощью ninject. Это можно сделать с помощью Inject
метод на ядре.
var kernel = new StandardKernel();
var repo = new Repo();
kernel.Inject(repo);