【问题标题】:WebAPI - add check before executing routeWebAPI - 在执行路由之前添加检查
【发布时间】:2017-09-29 09:30:51
【问题描述】:

我正在使用 Restier 从数据集中生成 oData。一切都很好。

public async static void Register(HttpConfiguration config)
{
    await config.MapRestierRoute<EntityFrameworkApi<uData>>(
    "uData",
    "/api/uData",
    new RestierBatchHandler(GlobalConfiguration.DefaultServer));
}

我需要根据 /id/api/uData 等 URL 的一部分执行自定义代码

如何添加控制器进行简单检查,然后继续执行更进一步的路由?

所以我想在发送 oData 之前进行检查,我只需要一个简单的控制器根据作为 URL 一部分的 id 检查内容。

我到底怎么能做到这一点 - 在任何地方都找不到。一个小的示例代码会很好。

非常感谢。

【问题讨论】:

    标签: c# asp.net-web-api model-view-controller asp.net-web-api2


    【解决方案1】:

    你应该使用action filters

    public class YourActionFilter : ActionFilterAttribute
    {
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
             // Write Preprocessing logic here
        }
    }
    

    您可以像这样在操作级别或控制器级别使用此属性

    [YourActionFilter]
    public Action Login(...)
    {
        // Your action code here
    }
    

    【讨论】:

    • Restier 如何做到这一点 - 你知道吗?
    猜你喜欢
    • 2017-06-06
    • 2018-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多