Делаем позднее связывание при помощи ninject (c#)

  1. Для этого устанавливаем пакет Ninject.Extensions.Xml при помощи менеджера пакета nuget.
  2. Создаем файл NinjectRegistrations.xml в корне приложения
    <module name="NinjectRegistrations">
        <bind service="WebApp.Interfaces.IElmahWrap, Core" to="WebApp.Mvc.Infrastructure.ElmahWrap,
    PresentationLogic" scope="singleton" />
        <bind service="WebApp.Interfaces.ICaptcha, PresentationLogic"
    to="WebApp.Infrastructure.DefaultCaptcha, PresentationLogic" scope="singleton" />
    </module>
    
  3. В Global.cs прописываем следующие строки
    var kernel = new StandardKernel();
    if (System.IO.File.Exists(AppDomain.CurrentDomain.BaseDirectory + "\\NinjectRegistrations.xml"))
        kernel.Load(AppDomain.CurrentDomain.BaseDirectory + "\\NinjectRegistrations.xml");
    
По теме:
Устанавливаем и настраиваем Ninject

Ninject это IoC контейнер для .NET платформы. Установим его и настроим. Установим ninject с помощью менеджера nuget Создадим класс который создает Read more

Скрываем публичные свойства, через которых происходит внедрение зависимостей ninject (c#)

Допустим есть свойство, через которое ninject внедряет зависимость [Inject] public IUsersService UsersService { get; set; } И очень хочется скрыть Read more

Получаем данные из appSettings при помощи Ninject

Создадим пользовательский атрибут ValueAttribute, который будет производным от атрибута InjectAttribute. Данный атрибут достает значение из appSettings, а Inject в свою Read more

Ninject и AOP

Ninject имеет много расширений. Одно из полезных расширений это Ninject.Extensions.Interception.DynamicProxy. Данное расширение позволяет перехватывать вызовы методов, что позволяет вынести сквозную Read more

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *