从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中,这个属性消失了,有没有替代方案呢?
答案 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
并模拟测试。