0

Ich habe etwas Code, der eine einfache XML-Web-Anfrage senden. Es wird von einem Windows-Dienst aufgerufen. Manchmal beginnt der Dienst mit dem Auslösen von Ausnahmen (System.Net.WebException: Der Vorgang ist abgelaufen) und ein Neustart des Dienstes behebt das Problem. Hier ist der Code:Periodische Timeouts bei Verwendung von 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"; 
     } 
    } 

Gibt es offensichtlich etwas falsch damit, das dieses Problem verursachen könnte?

Antwort

1

Es gibt nichts, was ich finden kann, ist falsch mit dem aufrufenden Code.

Wird der Fehler vom clientseitigen Code generiert oder kommt er vom Dienst?

Wenn es von dem Dienst ist, ist es der Dienst, der repariert werden muss, idéaly sollte der Dienst nie Timeout sein, egal was Sie senden, sollte es in einer kontrollierteren Manier fehlschlagen, die eine bessere Fehlermeldung gibt.

+0

Sie haben Recht. Mit dem Code war nichts falsch. Es war ein zeitweiliges Serverproblem. Habe ein paar Punkte. –

+0

Ich habe das gleiche Problem, und wir haben keine intermittierenden Server ... – Ted

Verwandte Themen