2

Я пытаюсь "решить" класс с помощью Unity Dependency Injection, но Unity всегда возвращает меня System.NullReferenceExceptionUnity Dependency Injection Resolve возвращения System.NullReferenceException

private IUnityContainer _unityContainer { get; set; } 
public void myMethod() 
{ 
    _unityContainer = UnityContainer.UnityContainerConfig.Initialize(); 
    IMyclass ObjMyClass = _unityContainer.Resolve<IMyclass >(); 
    ObjMyClass .Init(); 
} 

Мой контейнер:

public class UnityContainerConfig 
{ 
    public static IUnityContainer _unityContainer = null; 

    public static IUnityContainer Initialize() 
    { 
     if (_unityContainer == null) 
     { 
      _unityContainer = new Microsoft.Practices.Unity.UnityContainer() 
      .RegisterType<IRepository<Table1>, Table1Repository>(new HttpContextLifetimeManager<IRepository<Table1>>()) 
      .RegisterType<IRepository<Table2>, Table2Repository>(new HttpContextLifetimeManager<IRepository<Table2>>()) 
      .RegisterType<IRepository<Table3>, Table3Repository>(new HttpContextLifetimeManager<IRepository<Table3>>()) 
      .RegisterType<IRepository<Table4>, Table4Repository>(new HttpContextLifetimeManager<IRepository<Table4>>()) 
      .RegisterType<IMyclass, MyClass>(new HttpContextLifetimeManager<IMyclass>()); 
     } 
    } 
     return unityContainer; 
} 

В конструкторе «мой класс» есть 4 параметра, которые получают «4 таблицы в качестве хранилища»

+0

Какая линия бросает исключение? –

+0

IMyclass ObjMyClass = _unityContainer.Resolve (); –

ответ

0

Проблема решена.

мне пришлось заново установить единство (NuGet), установить UnityOfWork и зарегистрировать «UnityOfWork класс»

Смежные вопросы