Web Api不取得请求参数的方式

方法一:

 HttpContextBase contextx = (HttpContextBase)context.Request.Properties["MS_HttpContext"];
HttpRequestBase request = contextx.Request;

Stream stream = request.InputStream;
stream.Position = 0;

StreamReader reader = new StreamReader(stream);
string json = HttpUtility.UrlDecode(reader.ReadToEnd());

 

方法二:

 Stream stream = context.Request.Content.ReadAsStreamAsync().Result;
stream.Position = 0;
 string json = "";
using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
{
   json = reader.ReadToEnd().ToString();
}

 

方法三:

 var sc = request.Content;
 using (MemoryStream ms = new MemoryStream())
{
     sc.CopyToAsync(ms).Wait();
     ms.Seek(0, SeekOrigin.Begin);

     byte[] bs = ms.ToArray();
     String s = System.Text.Encoding.UTF8.GetString(bs);
}

posted @ 2016-01-07 12:35  一只小鸟  阅读(226)  评论(0)    收藏  举报