HttpActionContext.RequestContentKeyValueModel on ASP.NET Web

本文关键字:NET Web ASP on RequestContentKeyValueModel HttpActionContext | 更新日期: 2023-09-27 18:36:33

自从 ASP.NET Web API 的测试版开始,我使用 HttpActionContext.RequestContentKeyValueModel 从 POST 请求的正文中获取输入参数:

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

但是在新发布版本的RC中,此属性消失了,还有其他选择吗?

HttpActionContext.RequestContentKeyValueModel on ASP.NET Web

您可以使用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并在测试中进行模拟。