2011-07-08 20 views
0

POST HTTPリクエストの送信に問題があります。それは(HttpWebResponse)request.GetResponse()で停止し、タイムアウトの後にタイムアウトの例外が期限切れになりますが、GET経由で同じリクエストを送信するとすべて正常に動作します。REST APIメソッド呼び出しのPOSTリクエストを送信

身体はどんなものができるのか知っていますか?

try 
     { 
      var request = (HttpWebRequest)WebRequest.Create(uri); 
      request.Method = "POST"; 

      if (content != null) 
       request.GetRequestStream().Write(content, 0, content.Length); 

      using (var response = (HttpWebResponse)request.GetResponse()) 
      { 
       return new Response(response); 
      } 
     } 
     catch (WebException exception) 
     { 
      return new Response(exception); 
     } 
+0

あなた自身の質問への答えを作成し、それを受け入れてください。 – Cheesebaron

答えて

0

問題を修正:

 using (var requestStream = request.GetRequestStream()) 
     { 
      if (content != null) 
      { 
       requestStream.Write(content, 0, content.Length); 
      } 

      requestStream.Close(); 

      using (var response = (HttpWebResponse)request.GetResponse()) 
      { 
       return new Response(response); 
      } 
     } 
0

おそらく、これはサーバー上のコードがこのメソッドをPOSTとして公開していないためです。サーバが明示的にanyhtingを設定していない場合、デフォルトではGETのみになります。このコードで

+0

私はすでに質問に答えています。 – mironych

関連する問題