首页 > Windows开发 > 详细

Asp.Net WebAPI 通过HttpContextBase获取请求参数

时间:2015-12-30 21:58:37      阅读:291      评论:0      收藏:0      [点我收藏+]

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"];//获取传统context
HttpRequestBase 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获取请求参数

原文:http://www.cnblogs.com/tianma3798/p/5089890.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!