2016-10-27 19 views
0

ここにURLにJsonConvert.SerializeObject(lstobject);を送信しています。 lstobjectは大きなリストで、url.errorにも送信され、3分後にエラーが記録され、5分間待機するようにWebrequestを作成するエラーが返されます。Httpwebrequstは、jsonconvert.serializeobjectを送信中に500の内部サーバーエラーを返します。

var httpWebRequest = (HttpWebRequest)WebRequest   
    .Create(ConfigurationManager.AppSettings["JsonPayloadPostUrl"] 
    .ToString()); 
httpWebRequest.Timeout = 1000000; 
httpWebRequest.Method = "POST"; 
using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream())) 
{ 
    streamWriter.Write(jsonPayload); 
} 
var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse(); 
using (var streamReader = new StreamReader(httpResponse.GetResponseStream())) 
{ 
    var responseText = streamReader.ReadToEnd(); 

} 

EEがhttpWebRequest.Timeout = 1000000;を使用していたが、サーバーは5分未満でバック要求を送信することができません。応答のためにサーバーを待つ要求をする方法?

答えて

1

質問が表示されない場合がありますが、HTTP 500サーバーエラーとは、サーバーが内部的な問題が発生したという応答をサーバーが提供したことを意味します。したがって、リクエスト側でより大きなタイムアウトを設定することで、それを防ぐことはできません。

https://www.w3.org/Protocols/HTTP/HTRESP.html

内部エラー後500

サーバーが要求を満たす からそれを妨げる予期しない状態に遭遇しました。

あなたのリクエストが正しく構築されていないか、サーバーにアプリケーション側の問題があります。

タイムアウト設定方法に戻って、正しく見えると思います。今回は、DNS名解決などのトピックを考慮している可能性があることに注意してください。これは、最初に思われるよりも少し時間がかかることがあります。あなたが設定しようとしている値を見ても、これは問題ではありません。

+0

あなたはあなたのsuggestion.whatあなたのおかげで500のエラー –

+0

を取得している理由は、リストサイズが適切な応答を与えるあまりにも巨大なサーバーではないときに正しいと言われているこれは非常に巨大なリストと方法値を準備しているのは正しいですなぜ小さなリストのためのbecozの応答を与えるが、大規模なリストのための内部サーバーのエラーthatsの私はhttpwebrequestのタイムアウトをconcetratingしている与えています。 – user2478021

関連する問題