ASP.NET Web API上的HttpActionContext.RequestContentKeyValueModel的替代方法

时间:2012-06-07 16:41:13

标签: c# asp.net asp.net-web-api

从ASP.NET Web API的beta版开始,我使用HttpActionContext.RequestContentKeyValueModel从POST请求的主体获取输入参数:

public override void OnActionExecuting(HttpActionContext actionContext)
{
    var requestContentKeyValueModel = actionContext.RequestContentKeyValueModel;
    //Do something in here

    base.OnActionExecuting(actionContext);
}

但是在新版本的RC中,这个属性消失了,有没有替代方案呢?

1 个答案:

答案 0 :(得分:5)

您可以使用HttpContext.Current.Request.Form

修改

您始终可以将其隐藏在界面后面:

public interface IKeyValueProvider
{
    string GetValue(string key);
}

class RequestFormKeyValueProvider : IKeyValueProvider
{
    public string GetValue(string key)
    {
        return HttpContext.Current.Request.Form[key];
    }
}

在控制器中注入IKeyValueProvider并模拟测试。