0

간단한 xml 웹 요청을 보내는 코드가 있습니다. Windows 서비스에서 호출됩니다. 때로는 서비스가 예외를 throw하기 시작합니다 (System.Net.WebException : 작업 시간이 초과되었습니다). 서비스를 다시 시작하면 문제가 해결됩니다. 다음은 코드입니다.HttpWebRequest를 사용할 때 주기적 타임 아웃

public bool PerformXmlRequest(string xml) 
    { 
     var httpRequest = (HttpWebRequest)WebRequest.Create(_url); 

     httpRequest.Method = "POST"; 

     httpRequest.ContentType = "text/xml"; 

     using (var xmlWriter = new StreamWriter(httpRequest.GetRequestStream(), Encoding.UTF8)) 
     { 
      xmlWriter.WriteLine(xml); 
     } 

     using (var httpResponse = (HttpWebResponse)httpRequest.GetResponse()) 
     { 
      return httpResponse.StatusDescription == "OK"; 
     } 
    } 

이 문제의 원인이 될 수있는 문제가 있습니까?

답변

1

호출 코드가 잘못되었다는 것을 발견 할 수있는 것은 아무것도 없습니다.

클라이언트 측 코드에서 오류가 생성되었거나 서비스에서 발생 했습니까?

서비스에서 온 것일 경우 서비스를 수정해야합니다. 예를 들어 서비스를 보내더라도 서비스가 절대로 시간 초과되어서는 안되며 더 제어 된 관리자에서 오류가 발생하여 오류 메시지가 더 나 빠지게됩니다.

+0

정확합니다. 코드에 문제가 없었습니다. 간헐적 인 서버 문제였습니다. 몇 가지 요점이 있습니다. –

+0

임에도 같은 문제가 있으며 간헐적 인 서버가 없습니다 ... – Ted