Wenn Sie das automatische Aktualisierungsprogramm ausführen, möchten Sie sich Ärger ersparen und direkt HttpWebRequest und HttpWebResponse verwenden, um aktualisierte Dateien vom Server herunterzuladen. Achten Sie bei der Verwendung auf den Close-Antwortstream:
Nachdem Sie HttpWebRequest.GetResponse() zum Abrufen der HttpWebResponse-Schnittstelle verwendet haben, müssen Sie daran denken, HttpWebResponse.close aufzurufen, um den Stream zu schließen.
Wenn Sie HttpWebResponse.GetResponseStream() verwenden, um den Antwortstream abzurufen, verwenden Sie die Close-Methode dieses Streams, um ihn zu schließen.
Wenn Sie StreamReader.ReadToEnd() verwenden, um Text aus dem Antwortstream zu lesen, wird der Stream nach dem Lesen des Inhalts automatisch geschlossen.
MSDN beschreibt die HttpWebResponse.close-Methode wie folgt:
Die Close-Methode schließt den Antwortstream und gibt die Verbindung zur Ressource zur Wiederverwendung durch andere Anforderungen frei.
Sie müssen die Methode Stream.Close oder HttpWebResponse.Close aufrufen, um den Stream zu schließen und die Verbindung zur Wiederverwendung freizugeben. Es ist nicht erforderlich, Stream.Close und HttpWebResponse.Close gleichzeitig aufzurufen, dies führt jedoch nicht zu einem Fehler. Wenn der Stream nicht geschlossen wird, kann dies dazu führen, dass die Anwendung keine Verbindungen mehr hat.
Das Verbindungslimit scheint maximal 2 zu betragen. Ich weiß nicht, ob es sich um ein Limit von IIS oder ein Limit von lokalem HttpWebRequest handelt.