如何从ASP.NET Web API OnActionExecuting Filter方法中提取表单数据

时间:2012-11-05 15:12:44

标签: 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;

        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 { }

我似乎无法弄清楚如何从请求中获取表单数据。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

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

有关使用ReadAsMultipartAsync(...)读取multipart / form-data内容的更多信息,请查看本教程Sending HTML Form Data