0

所以我有一个简单的问题(我认为)。

如何使用 Autofac 对 FilterAttribute 进行属性注入?

Public Class TestFilterAttribute
    Inherits ActionFilterAttribute

    Public Property Service As IMyService        

    Public Overrides Sub OnActionExecuting(filterContext As System.Web.Mvc.ActionExecutingContext)

        ** I need to get to the IMyService here **
        Dim val = Service.GetValue()

        MyBase.OnActionExecuting(filterContext)
    End Sub
End Class

我已经在容器中注册了服务:

builder.RegisterType(Of MyService).As(Of IMyService)().InstancePerHttpRequest()

或者,也许我正在以错误的方式去做。我希望能够注入过滤器属性。

另外,使用时Register,你也必须这样做.As吗?就像在RegisterType.

4

1 回答 1

1

确保您在容器构建器上调用 RegisterFilterProvider 方法,它会处理其余的事情。

http://code.google.com/p/autofac/wiki/Mvc3Integration#Filter_Attribute_Property_Injection

于 2012-08-08T12:05:06.297 回答