2013-05-25 49 views
0

我已經設置了一個頁面來執行一個Json序列化的通用列表的HTTP Post,到ASP.net中的不同頁面。但是,當它進入新頁面時,我似乎無法找到HTTP Post的正文。在HttpPost中接收Json - ASP.net

這是這一職位的方法:

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,但請求。表單是空的。我仔細看了一下VS degugger,在Request對象的任何地方都看不到它,但內容長度爲68000字節,所以我確定它在某處!

任何人都可以指出我正確的方向嗎?非常感謝

+0

如果我理解的很好,你發送到頁面「/Post.aspx」應該在Request.InputStream(https://gist.github.com/leggetter/769688)中。那是你在找什麼? – Romain

+0

這正是我所尋找的感謝 - 完美。如果您將其添加爲答案,那麼我會將其標記爲正確。 –

回答

1

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