c# - 未调用 MVC API2 ActionFilterAttribute

标签 c# asp.net-mvc attributes

我正在为这种和平的代码而苦苦挣扎:

public class MultiDatabaseAttribute : ActionFilterAttribute
{
    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        base.OnActionExecuting(filterContext);
    }
}

我想在我的 API 中对某些 ActionResults 执行 OnActionExecuting。这是我的 API 中的一个方法:

[MultiDatabase]
public Website Get(int id)
{
    return _websites.Get(id);
}

它不起作用。无论我尝试什么,都不会调用方法属性。据网站http://www.strathweb.com/2015/06/action-filters-service-filters-type-filters-asp-net-5-mvc-6/这应该有效。

根据这个question我必须将该属性添加到 Global.asax。也没有帮助。

谁能帮帮我?

谢谢

最佳答案

您从错误的基类继承了您的属性。 MVC 和 WebAPI 有不同的对象(至少在 ASP.Net Core 将它们合并为一个之前)。确保您的属性中有正确的导入:

using System.Web.Http.Filters;

或者使用完整的命名空间:

public class MultiDatabaseAttribute : System.Web.Http.Filters.ActionFilterAttribute
{
    public override void OnActionExecuting(HttpActionContext actionContext)
    {
        base.OnActionExecuting(actionContext);
    }
}

关于c# - 未调用 MVC API2 ActionFilterAttribute,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42133672/

相关文章:

c# - 如何使基类方法的属性应用于继承类?

ios - 建模并填充核心数据与属性的多对多关系

c# - 在 Entity Framework 支持的 Web API 2 POST 调用中返回一个对象以及 409 冲突错误?

c# - 多线程无法正常执行

asp.net-mvc - Asp.net MVC 中的自定义 DateTime 模型绑定(bind)器

c# - 配置静态分析以检测不安全的 MVC 路由

c# - 用于 ASP.Net 中不同版本 Excel 的连接字符串

c# - 有没有一种方法可以引用链中的最后一个表达式以用作函数中的参数(C#)

asp.net-mvc - 使用 Angular 创建和更新实体的好方法是什么?

javascript - 无法使用 jquery 获取 html5 数据属性