タイマー付きの関数内で httpwebrequest.getresponse() を使用しています。タイマーは数秒ごとにこの関数を呼び出します。ただし、タイマーによって要求と応答が迅速に行われるため、Web サーバーが応答を拒否することがあります。
関数がタイマーで実行を継続し、例外が適切に処理されるようにする必要があります。
また
タイマー内の関数の http Web 要求と Web 応答を処理する最良の方法は何ですか?
では、通常の方法で例外を処理しますか?
try {
// Send your request
} catch(WebException ex) {
// It failed
}
while(response==null)
{
httpWebRequest = (HttpWebRequest)WebRequest.Create(sURL + param);
httpWebRequest.Method = WebRequestMethods.Http.Post;
httpWebRequest.Accept = "application/xml";
httpWebRequest.ContentLength = 0;
try
{
response = (HttpWebResponse)httpWebRequest.GetResponse();
if (response.StatusCode == HttpStatusCode.OK && response != null)
{
streamReader = new StreamReader(response.GetResponseStream());
doc = XDocument.Load(streamReader);
break;
}
}
catch (WebException exx)
{
Console.WriteLine("Trying to reconnect with Web Server");
Thread.Sleep(2000);
}
}