標籤:
WEBAPI中的Request是HttpRequestMessage類型,不能像Web傳統那樣有querystring和from 方法接收參數,而傳統的HttpReqest的基類是HttpReqestBase
所以這裡我們就直接使用(HttpContextBase)Request.Properties["MS_HttpContext"]
public void Post([FromBody]string value){ HttpContextBase context = (HttpContextBase)Request.Properties["MS_HttpContext"];//擷取傳統context HttpRequestBase request = context.Request;//定義傳統request對象 string name = request.Form["name"]; }
1.擷取遍曆路由參數
//擷取路由參數IDictionary<string, object> dic = this.RequestContext.RouteData.Values;StringBuilder builder = new StringBuilder();foreach (var item in dic){ builder.AppendFormat("key:{0},value:{1}", item.Key, item.Value); builder.AppendLine();}return builder.ToString();
2.遍曆表單參數
////擷取表單參數HttpContextBase context = (HttpContextBase)Request.Properties["MS_HttpContext"];//擷取傳統contextHttpRequestBase request = context.Request;//定義傳統request對象 StringBuilder builder = new StringBuilder();foreach (string item in request.Form.Keys){ builder.AppendFormat("key:{0},value:{1}", item, request.Form[item]); builder.AppendLine();}return builder.ToString();
Asp.Net WebAPI 通過HttpContextBase擷取請求參數