У меня есть приложение MVC use Unity Ioc.Использовать сервис в классе MVC с Unity Ioc
Declare и инициализация служба:
public static void Initialize()
{
IUnityContainer container = BuildUnityContainer();
DependencyResolver.SetResolver(new UnityDependencyResolver(container));
}
private static IUnityContainer BuildUnityContainer()
{
IUnityContainer container = new UnityContainer();
container.RegisterType<ImyService, myService>(new HttpContextLifetimeManager<ImyService>());;
return container;
}
В классе я использую код ниже:
var service = DependencyResolver.Current.GetService<ImyService>();
Это файл UnityControllerFactory.cs
public override object GetValue()
{
var assemblyQualifiedName = typeof(T).AssemblyQualifiedName;
if (assemblyQualifiedName != null)
return HttpContext.Current.Items[assemblyQualifiedName];
return null;
}
Когда я запущенное приложение, он возвращает ошибку: HttpContex t.Current.Items [assemblyQualifiedName];
Ошибка:
Additional information: Object reference not set to an instance of an object.
Как я могу использовать услугу в моем классе. Благодаря!
Случается ли такое же, если вы вводите службу в конструктор класса? – JB06
@ JB06 когда я использую в контроллере, он работает, а не какая-либо ошибка. Используйте только в классе, это будет ошибка выше –