Я хочу, чтобы зависимость вставляла атрибут в ASP.NET MVC с помощью Spring.Net, мой атрибут выглядит примерно так (обратите внимание, это весь псевдокод, который я только что набрал) ...
public class InjectedAttribute : ActionFilterAttribute
{
private IBusinessLogic businessLogic;
public InjectedAttribute(IBusinessLogic businessLogic)
{
this.businessLogic = businessLogic;
}
public override void OnActionExecuting(ActionExecutedContext filterContext)
{
// do something with the business logic
businessLogic.DoSomethingImportant();
}
}
Я использую фабрику контроллеров для создания контроллеров, в которые также вводятся различные объекты бизнес-логики. Я получаю контроллеры из контейнера IoC вот так ...
ContextRegistry.GetContext().GetObject("MyMVCController");
Я настраиваю свои контроллеры примерно так, передавая бизнес-логику
<object name="MyMVCController" type="MyMVC.MyMVCController, MyMVC">
<constructor-arg index="0" ref="businessLogic" />
</object>
Есть ли способ настроить внедрение атрибутов? Я не хочу вкладывать это в мои атрибуты ...
public class InjectedAttribute : ActionFilterAttribute
{
private IBusinessLogic businessLogic;
public InjectedAttribute(IBusinessLogic businessLogic)
{
this.businessLogic = ContextRegistry.GetContext().GetObject("businessLogic");
}
....