2016-10-21 27 views
-1

我使用Autofac如何將過濾器應用於控制器?使用DI

我有一個的WebAPI控制器MyWebApiController到我需要申請一個過濾器MyNewActionFilter其中。在Autofac,我可以簡單地做如下:

builder.RegisterType<MyNewActionFilter>() 
       .AsWebApiExceptionFilterFor<MyWebApiController>() 
       .InstancePerApiControllerType(typeof(MyWebApiController)); 

這是類似於下面:

[MyNewActionFilter] 
public class MyWebApiController : ApiController 

如何做同樣的MVC控制器?

我的MVC控制器:的HomeController和我的MVC過濾器是TrackPackageFilter

我試過,

builder.RegisterType<HomeController>() 
      .AsActionFilterFor<TrackPackageFilter> 
      .InstancePerHttpRequest(); 

但這種格式不正確,這意味着there was no extension method or method called AsActionFilterFor

任何人都可以提供一些見解嗎?

+0

這個響應[鏈接](http://stackoverflow.com/看看問題/ 40135387/separation-validation-logic-from-business-logic-in-asp-net-mvc-5-控制器/ 40162422#40162422) –

+0

我在** autofac **注入的範圍內詢問。上面的鏈接講的是另一回事。 –

+1

請閱讀[問]並詳細說明「格式不正確」,分享你的研究成果。 – CodeCaster

回答

0

這是由於一個被忽視的錯誤。

不包括using指令:使用Autofac.Integration.Mvc;

我ReSharper的/ VS沒有自動發現它對於我:(

不管怎麼說,制定了現在:)