C# ASP MVC过滤器,在哪里实现接口?

C# ASP MVC过滤器,在哪里实现接口?,c#,asp.net,asp.net-mvc,filter,action-filter,C#,Asp.net,Asp.net Mvc,Filter,Action Filter,只是想知道,谷歌搜索如何在asp mvc 4中使用过滤器。我发现有些人这样定义他们: public class CustomFilter : ActionFilterAttribute public class CustomFilter : ActionFilterAttribute, IActionFilter 有些是这样的: public class CustomFilter : ActionFilterAttribute public class CustomFilter : Act

只是想知道,谷歌搜索如何在asp mvc 4中使用过滤器。我发现有些人这样定义他们:

public class CustomFilter : ActionFilterAttribute
public class CustomFilter : ActionFilterAttribute, IActionFilter
有些是这样的:

public class CustomFilter : ActionFilterAttribute
public class CustomFilter : ActionFilterAttribute, IActionFilter
ActionFilterAttribute已经有了所有要重写的操作,为什么还要实现该接口呢

例如,在下一个代码中,在最后再次调用过滤器,这是为什么

public class 

CustomActionFilter : ActionFilterAttribute, IActionFilter
{
    void IActionFilter.OnActionExecuting(ActionExecutingContext filterContext)


    {
        // TODO: Add your acction filter's tasks here

        // Log Action Filter Call
        MusicStoreEntities storeDB = new MusicStoreEntities();

        ActionLog log = new ActionLog()
        {
            Controller = filterContext.ActionDescriptor.ControllerDescriptor.ControllerName,
            Action = filterContext.ActionDescriptor.ActionName + " (Logged By: Custom 

Action Filter)",
            IP = filterContext.HttpContext.Request.UserHostAddress,
            DateTime = filterContext.HttpContext.Timestamp
        };

        storeDB.ActionLogs.Add(log);
        storeDB.SaveChanges();

        this.OnActionExecuting(filterContext);
    }
}
如果选中,您将看到它是一个抽象类,继承了IActionFilter和IResultFilter接口

实际上继承自ActionFilterAttribute

相当于继承类FilterAttribute和接口IActionFilter和IResultFilter

这和

public class CustomFilter : ActionFilterAttribute, IActionFilter, IResultFilter

因此,从ActionFilterAttribute继承与从ActionFilterAttribute和IActionFilter继承没有什么不同。

但似乎是多余的,不是吗?那么从ActionFilterAttribute继承就足够了?@user1777914,完全多余。是,ActionFilterAttribute是整个软件包。