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 に答える