回答

1

相同Asp.Net MVC3:註冊一個定製的春季知道FilterAttributeFilterProviderSpringMvcApplication而不是HttpApplication得到您的應用程序,看到了神奇的工作。示例impl。沒有生產準備好:

public class FilterProvider : FilterAttributeFilterProvider, IApplicationContextAware 
{ 
    public IApplicationContext ApplicationContext 
    { 
     set; 
     get; 
    } 

    public override IEnumerable<Filter> GetFilters(ControllerContext controllerContext, ActionDescriptor actionDescriptor) 
    { 
     var filters = base.GetFilters(controllerContext, actionDescriptor); 
     foreach (var filter in filters) 
     { 
      ApplicationContext.ConfigureObject(filter.Instance, filter.Instance.GetType().Name); 
      yield return filter; 
     } 
    } 
} 
+0

感謝您的信息 - 是否有可能使用它只注入特定的控制器,而不是所有? – amateur

+0

該代碼將屬性注入到ActionFilter對象中。在spring.net框中支持實例化和解析mvc控制器,當在配置中找不到控制器時,imho spring會引發異常;但是您可以回退到默認的MVC行爲(Activator.CreateInstance)。 – Andreas