Я пытаюсь создать новый проект, который зависит от некоторых старых библиотек.Эти библиотеки используют Unity для внедрения зависимостей.Они также используют инъекцию свойств с атрибутом DependencyAttribute.Мой новый проект - приложение ASP.NET Core 2.1, использующее предоставленный угловой шаблон.Я настроил его на Unity, выполнив следующие действия:
public static IWebHostBuilder CreateWebHostBuilder(string[] args)
{
var container = /* calls internal method to get container */;
return WebHost.CreateDefaultBuilder(args)
.UseUnityServiceProvider(container)
.UseStartup<Startup>();
}
Контейнер создается во внутренней библиотеке и отлично работает везде.
Когда я использую Constructor Injection, сервисы вводятся правильно,Однако использование Property Injection не работает.Все свойства, введенные таким образом, заканчиваются NULL.Любые идеи, как заставить Property Injection работать?
Конструктор Injection (работает):
private readonly IServiceA ServiceA;
public ControllerA(IServiceA serviceA)
{
this.ServiceA = serviceA;
}
Property Injection (не работает):
[Dependency]
public IServiceA ServiceA { get; set; }