2
我使用MvcContrib來完成我的Spring.Net ASP.Net MVC控制器依賴注入。 我的依賴不會被注入到我的CustomAttribute操作過濾器中。 如何獲得我的依賴關係?使用Spring.Net將依賴關係注入到ASP.NET MVC ActionFilters
假設你有一個看起來像這樣一個ActionFilter:
public class CustomAttribute : ActionFilterAttribute, ICustomAttribute
{
private IAwesomeService awesomeService;
public CustomAttribute(){}
public CustomAttribute(IAwesomeService awesomeService)
{
this.awesomeService= awesomeService;
}
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
//Do some work
}
}
隨着Spring.Net配置部分看起來像這樣:
<object id="CustomAttribute " type="Assembly.CustomAttribute , Assembly" singleton="false">
<constructor-arg ref="AwesomeService"/>
</object>
並使用屬性,像這樣:
[Custom]
public FooController : Controller
{
//Do some work
}
這是我能夠做到這一點的唯一方法,因爲大多數注入方案都是從控制器開始的。您可以在MVC中將默認的DependencyResolver設置爲使用基於您需要實現的Spring。這將使Spring特定的代碼保持您的屬性之外。 – Pharcyde 2012-02-14 18:05:31