У меня есть страница со следующим свойством:
public partial class CustomPage : Page
{
[Dependency]
public ILogger Logger { get; set; }
protected void Page_Load(object sender, EventArgs e)
{
Response.Write((this.Logger == null) ? "Not initialized" : "Initialized");
}
}
Как видно, ILogger - это зависимость, которая должна быть внедрена в этот класс.
Файл конфигурации Unity имеетбыл настроен так:
<unity>
<alias alias="ILogger" type="Logging.ILogger, AssemblyName" />
<alias alias="Logger" type="Logging.Logger, AssemblyName" />
<container>
<register type="ILogger" mapTo="Logger">
<lifetime type="singleton"/>
</register>
</container>
</unity>
В моем файле Global.ascx событие Application_Start у меня есть следующий код:
var container = new UnityContainer();
container.LoadConfiguration();
container.Resolve<CustomPage>();
Я ожидаю, что при запуске CustomPage ILoggerполучить инъекцию, но фактическое поведение таково, что оно всегда равно нулю.
Как правильно его настроить?
Спасибо