So I have a simple question (I think).
How do you do Property Injection on a FilterAttribute with Autofac?
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
I have registered the service in the container:
builder.RegisterType(Of MyService).As(Of IMyService)().InstancePerHttpRequest()
Or maybe I am going about it the wrong way. I want to be able to inject filter attributes.
Also, when using Register
, do you have to do .As
as well? Like in RegisterType
.
Make sure that you call the RegisterFilterProvider method on the container builder and it will take care of the rest.
http://code.google.com/p/autofac/wiki/Mvc3Integration#Filter_Attribute_Property_Injection