Asp.net web api 如何从ASP.NET Web API OnActionExecuting筛选器方法中提取表单数据

Asp.net web api 如何从ASP.NET Web API OnActionExecuting筛选器方法中提取表单数据,asp.net-web-api,Asp.net Web Api,我正在尝试从ASP.NET Web API操作筛选器的OnActionExecuting方法中提取表单数据,以便将其写入日志文件 我的代码如下所示: public override void OnActionExecuting(System.Web.Http.Controllers.HttpActionContext ctx) { if (ctx.Request.RequestUri.Query.StartsWith("admin/")) return;

我正在尝试从ASP.NET Web API操作筛选器的
OnActionExecuting
方法中提取表单数据,以便将其写入日志文件

我的代码如下所示:

    public override void OnActionExecuting(System.Web.Http.Controllers.HttpActionContext ctx)
    {
        if (ctx.Request.RequestUri.Query.StartsWith("admin/")) return;

        try
        {
            _loggingService.LogRequest(new RequestLogModel
            {
                Handler = ctx.ControllerContext.ControllerDescriptor.ControllerName,
                Uri = ctx.Request.RequestUri.AbsoluteUri,
                RequestType = ctx.Request.Method.Method,
                RequestFrom = ctx.Request.RequestUri.Host,
                QueryString = ctx.Request.RequestUri.Query,
                FormData = // Need to get form-data here
            });
        }
        catch { }

我似乎不知道如何从请求中获取表单数据。有人能帮忙吗?

您应该能够获取请求内容中的表单数据

有关使用ReadAsMultipartAsync(…)读取多部分/表单数据内容的详细信息,请参阅本教程