Ableiten von WebResponseDeriving from WebResponse

Die WebResponse-Klasse ist eine abstrakte Basisklasse, die die grundlegenden Methoden und Eigenschaften bereitstellt, mit denen eine protokollspezifische Antwort erstellt wird, die in das austauschbare Protokollmodell von .NET Framework passt.The WebResponse class is an abstract base class that provides the basic methods and properties for creating a protocol-specific response that fits the .NET Framework pluggable protocol model. Anwendungen, die die WebRequest-Klasse zur Datenanforderung von Ressourcen verwenden, erhalten die Antworten in Form einer WebResponse.Applications that use the WebRequest class to request data from resources receive the responses in a WebResponse. Protokollspezifische WebResponse-Nachfolger müssen die abstrakten Member der WebResponse-Klasse implementieren.Protocol-specific WebResponse descendants must implement the abstract members of the WebResponse class.

WebResponse-Nachfolger werden durch die zugeordnete WebRequest-Klasse erstellt.The associated WebRequest class must create WebResponse descendants. HttpWebResponse-Instanzen werden beispielsweise nur durch Aufrufen von HttpWebRequest.GetResponse oder HttpWebRequest.EndGetResponse erstellt.For example, HttpWebResponse instances are created only as the result of calling HttpWebRequest.GetResponse or HttpWebRequest.EndGetResponse. Jede WebResponse enthält das Ergebnis einer Anforderung an eine Ressource und sollte nicht wiederverwendet werden.Each WebResponse contains the result of a request to a resource and is not intended to be reused.

ContentLength-EigenschaftContentLength Property

Die ContentLength-Eigenschaft gibt die Anzahl der Datenbytes an, die auf dem Datenstrom verfügbar sind, der von der GetResponseStream-Methode zurückgegeben wird.The ContentLength property indicates the number of bytes of data that are available from the stream returned by the GetResponseStream method. Die ContentLength-Eigenschaft gibt weder die Anzahl der Bytes der vom Server zurückgegebenen Headerinformationen noch die der Metadateninformationen an. Sie gibt nur die Anzahl der Datenbytes der angeforderten Ressource selbst an.The ContentLength property does not indicate the number of bytes of header or metadata information returned by the server; it indicates only the number of bytes of data in the requested resource itself.

ContentType-EigenschaftContentType Property

Die ContentType-Eigenschaft stellt spezielle Informationen zur Verfügung, die Sie für Ihr Protokoll an den Client senden müssen, um den Typ des vom Server gesendeten Inhalts zu identifizieren.The ContentType property provides any special information that your protocol requires you to send to the client to identify the type of content being sent by the server. In der Regel ist dies der MIME-Inhaltstyp aller zurückgegebenen Daten.Typically this is the MIME content type of any data returned.

Header-EigenschaftHeaders Property

Die Headers-Eigenschaft enthält eine beliebige Auflistung von Name-Wert-Paaren der Metadaten, die der Antwort zugeordnet sind.The Headers property contains an arbitrary collection of name/value pairs of metadata associated with the response. Alle für das Protokoll erforderlichen Metadaten, die als Name-Wert-Paar ausgedrückt werden, können in die Header-Eigenschaft aufgenommen werden.Any metadata needed by the protocol that can be expressed as a name/value pair can be included in the Headers property.

Sie müssen die Header-Eigenschaft nicht verwenden, um die Header-Metadaten zu nutzen.You are not required to use the Headers property to use header metadata. Protokollspezifische Metadaten können als Eigenschaften verfügbar gemacht werden. So macht die HttpWebResponse.LastModified-Eigenschaft z.B. den Last-Modified-HTTP-Header verfügbar.Protocol-specific metadata can be exposed as properties; for example, the HttpWebResponse.LastModified property exposes the Last-Modified HTTP header. Wenn Sie die Header-Metadaten als Eigenschaft verfügbar machen, sollten Sie nicht zulassen, dass die gleiche Eigenschaft die Header-Eigenschaft verwendet.When you expose header metadata as a property, you should not allow the same property to be set using the Headers property.

ResponseUri-EigenschaftResponseUri Property

Die ResponseUri-Eigenschaft enthält den URI der Ressource, die die Antwort eigentlich bereitgestellt hat.The ResponseUri property contains the URI of the resource that actually provided the response. Für Protokolle, die keine Umleitung unterstützen, ist ResponseUri identisch mit der RequestUri-Eigenschaft der WebRequest, von der die Antwort erstellt wurde.For protocols that do not support redirection, ResponseUri will be the same as the RequestUri property of the WebRequest that created the response. Unterstützt das Protokoll das Umleiten der Anforderung, enthält ResponseUri den URI der Antwort.If the protocol supports redirecting the request, ResponseUri will contain the URI of the response.

Close-MethodeClose Method

Die Close-Methode schließt alle von der Anforderung und der Antwort erstellten Verbindungen und bereinigt die Ressourcen, die von der Antwort verwendet wurden.The Close method closes any connections made by the request and response and cleans up resources used by the response. Die Close-Methode schließt alle von der Antwort verwendeten Streaminstanzen. Sie löst jedoch keine Ausnahme aus, wenn der Antwortstream zuvor durch einen Aufruf der Stream.Close-Methode geschlossen wurde.The Close method closes any stream instances used by the response, but it does not throw an exception if the response stream was previously closed by a call to the Stream.Close method.

GetResponseStream-MethodeGetResponseStream Method

Die GetResponseStream-Methode gibt einen Datenstrom zurück, der die Antwort der angeforderten Ressource enthält.The GetResponseStream method returns a stream containing the response from the requested resource. Der Antwortstream enthält nur die von der Ressource zurückgegebenen Daten. In der Antwort enthaltene Header oder Metadaten sollten aus der Antwort entfernt und der Anwendung über protokollspezifische Eigenschaften oder über die Header-Eigenschaft verfügbar gemacht werden.The response stream contains only the data returned by the resource; any header or metadata included in the response should be stripped from the response and exposed to the application through protocol-specific properties or the Headers property.

Die von der GetResponseStream-Methode zurückgegebene Streaminstanz ist im Besitz der Anwendung und kann geschlossen werden, ohne WebResponse zu schließen.The stream instance returned by the GetResponseStream method is owned by the application and can be closed without closing the WebResponse. Konventionsgemäß wird durch Aufrufen der WebResponse.Close-Methode auch der von GetResponse zurückgegebene Datenstrom geschlossen.By convention, calling the WebResponse.Close method also closes the stream returned by GetResponse.

Weitere InformationenSee also