Actionfilter等效于方法

时间:2016-02-03 13:11:32

标签: c# asp.net-mvc attributes

c#本身的方法是否有ActionFilter等价物?

在控制器中,您可以使用自定义过滤器执行任务OnActionExecutedOnActionExecuting,但我也想对类内的方法执行类似的操作。

所以我想这样做:

[MyMethodFilter]
public static string Convert(string source)
{
     //DO STUFF
     //RETURN A STRING
}

IActionFilter界面是System.Web.Mvc

的一部分

1 个答案:

答案 0 :(得分:0)

您正在寻找面向方面的编程。在C#中有一些方法可以做到这一点:

  1. 从您的类派生的代理类。使用DI容器很容易: How to set up an optional method interception with Ninject?

  2. MSIL重写。更复杂的技术。 PostSharp是一个很好的库,从它开始: http://doc.postsharp.net/method-interception

  3. 因此,没有一个现成的ActionFilter等价物。但是,您可以实现类似的功能。