Я пытаюсь вставить свойство в мое SpringMvcApplication (из Spring.Web.Mvc ).
public class MvcApplication : SpringMvcApplication
{
public ISomeService SomeService { get; set; }
protected void Application_AuthenticateRequest(object sender, EventArgs e)
{
// Use SomeService
}
}
Тогда у меня есть файл Services.xml, который содержит мои определения
<?xml version="1.0" encoding="utf-8" ?>
<objects xmlns="http://www.springframework.net">
<object name="HttpApplicationConfigurer" type="Spring.Context.Support.HttpApplicationConfigurer, Spring.Web">
<property name="ApplicationTemplate">
<object>
<property name="SomeService" ref="ISomeService" />
</object>
</property>
</object>
<object id="ISomeService" type="WebProject.Services.SomeService, WebProject">
<constructor-arg ref="UserService" />
</object>
</objects>
Всякий раз, когда я пытаюсь использовать свойство SomeService, я получаю исключение нулевой ссылки. Моя конфигурация неверна? Нужна ли какая-либо дополнительная конфигурация?
Мой обходной путь, который пока не выглядит правильным, это
protected override void ConfigureApplicationContext()
{
base.ConfigureApplicationContext();
SomeService = (ISomeService)ContextRegistry.GetContext().GetObject("ISomeService");
}