在HttpPost中接收Json - ASP.net

时间:2013-05-25 10:37:51

标签: c# asp.net http-post

我已经设置了一个页面来执行带有Json序列化通用列表的HTTP Post到ASP.net中的不同页面。当它进入新页面时,我似乎无法找到HTTP Post的主体。

这是帖子的方法:

    public static void SendHttpPost(string json)
    {            
        var httpWebRequest = (HttpWebRequest)WebRequest.Create("http://localhost:57102/Post.aspx");

        httpWebRequest.ContentType = "text/json";
        httpWebRequest.Method = "POST";
        using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
        {
            streamWriter.Write(json);
            streamWriter.Flush();
            streamWriter.Close();

            var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
            using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
            {
                var result = streamReader.ReadToEnd();
            }
        }
    }

虽然这是我第一次这样做,但我认为您可以使用Request.Form或类似方法访问Json,但Request.Form为空。我已经很好地了解了VS degugger并且在Request对象的任何地方都看不到它,但是内容长度是68000字节,所以我确定它就在那里!

有人能指出我正确的方向吗?非常感谢

1 个答案:

答案 0 :(得分:1)

您可以使用Request.InputStream检索请求正文,如下所示:gist.github.com/leggetter/769688!