Freigeben über


Ableiten aus WebResponse

Die WebResponse-Klasse ist eine abstrakte Basisklasse, die die Basismethoden und -eigenschaften zum Erstellen einer protokollspezifischen Antwort enthält, die dem austauschbaren Protokollmodell in .NET Framework entspricht. Anwendungen, in denen die WebRequest-Klassen zum Anfordern von Daten aus Ressourcen zum Einsatz kommt, erhalten die Antworten in einer WebResponse. Protokollspezifische WebResponse-Nachkommen müssen die abstrakten Member der WebResponse-Klasse implementieren.

Die zugeordnete WebRequest-Klasse muss WebResponse-Nachkommen erstellen. So werden z. B. HttpWebResponse-Instanzen lediglich aufgrund des Aufrufens von HttpWebRequest.GetResponse oder HttpWebRequest.EndGetResponse erstellt. Jede WebResponse-Klasse enthält das Ergebnis einer Anforderung an eine Ressource und soll nicht wieder verwendet werden.

ContentLength-Eigenschaft

Die ContentLength-Eigenschaft gibt die Anzahl der Byte in Daten an, die der Stream zur Verfügung stellt, der von der GetResponseStream-Methode zurückgegeben wird. Die ContentLength-Eigenschaft gibt nicht die Anzahl der Byte in Header- oder Metadateninformationen an, die der Server zurückgibt. Sie gibt lediglich die Anzahl der Byte in Daten in der angeforderten Ressource selbst an.

ContentType-Eigenschaft

Die ContentType-Eigenschaft stellt alle speziellen Methoden bereit, die vom Protokoll für den Client angefordert werden, damit der vom Server gesendete Inhaltstyp identifiziert werden kann. Hierbei handelt es sich normalerweise um den Inhaltstyp MIME aller zurückgegebenen Daten.

Headers-Eigenschaft

Die Headers-Eigenschaft enthält eine willkürliche Auflistung von Name/Wert-Paaren der der Antwort zugeordneten Metadaten. Alle vom Protokoll benötigten Metadaten, die als ein Name/Wert-Paar ausgedrückt werden können, können in die Headers-Eigenschaft aufgenommen werden.

Sie müssen für die Verwendung von Headermetadaten nicht die Headers-Eigenschaft verwenden. Protokollspezifische Metadaten können als Eigenschaften offen gelegt werden, so legt z. B. die HttpWebResponse.LastModified-Eigenschaft den HTTP-Header Zuletzt geändert offen. Wenn Sie Headermetadaten als Eigenschaft offen legen, sollten Sie sicherstellen, dass dieselbe Eigenschaft nicht mit der Headers-Eigenschaft eingestellt werden kann.

ResponseUri-Eigenschaft

Die ResponseUri-Eigenschaft enthält den URI der Ressource, die tatsächlich die Antwort geliefert hat. Bei Protokollen, die die Umleitung nicht unterstützen, ist die ResponseUri identisch mit der RequestUri-Eigenschaft der WebRequest, die die Antwort erstellt hat. Wenn das Protokoll die Umleitung der Anforderung unterstützt, enthält ResponseUri den URI der Antwort.

Close-Methode

Die Close-Methode schließt alle Verbindungen, die die Anforderung und die Antwort hergestellt haben, und bereinigt die von der Antwort verwendeten Ressourcen. Die Close-Methode schließt alle von der Antwort in Anspruch genommenen Streaminstanzen, löst aber keine Ausnahme aus, wenn der Antwortstream vorher durch einen Aufruf der Stream.Close-Methode geschlossen wurde.

GetResponseStream-Methode

Die GetResponseStream-Methode gibt einen Stream zurück, der die Antwort von der angeforderten Ressource enthält. Der Antwortstream enthält nur die von der Ressource zurückgegebenen Daten. Sämtliche in der Antwort enthaltenen Header oder Metadaten sollten aus der Antwort entfernt und der Anwendung mittels protokollspezifischer Eigenschaften oder der Header-Eigenschaft offen gelegt werden.

Die von der GetResponseStream-Methode zurückgegebene Streaminstanz gehört zur Anwendung und kann geschlossen werden, ohne dass die WebResponse geschlossen wird. Normalerweise wird auch durch Aufrufen der WebResponse.Close-Methode der von GetResponse zurückgegebene Stream geschlossen.

Siehe auch

Programmieren von austauschbaren Protokollen | Ableiten aus WebRequest | WebResponse-Klasse | HttpWebResponse-Klasse | FileWebResponse-Klasse