次の方法で共有


WebResponse からの派生

WebResponse クラスは抽象基本クラスです。.NET Framework にプラグできるプロトコル モデルに適合するプロトコル固有の応答を作成するために、基本的なメソッドおよびプロパティを提供します。WebRequest クラスを使用してリソースからのデータを要求するアプリケーションは、WebResponse で応答を受信します。プロトコル固有の WebResponse の子孫は、WebResponse クラスの抽象メンバを実装する必要があります。

関連する WebRequest クラスは、WebResponse の子孫を作成する必要があります。たとえば、HttpWebResponse インスタンスは、HttpWebRequest.GetResponse または HttpWebRequest.EndGetResponse を呼び出すことによってだけ作成されます。各 WebResponse には、リソースに対する要求の結果が含まれていますが、再利用することは想定されていません。

ContentLength プロパティ

ContentLength プロパティは、GetResponseStream メソッドによって返される、ストリームから利用可能なデータのバイト数を示します。ContentLength プロパティは、サーバーによって返される、ヘッダーまたはメタデータ情報のバイト数を示しません。このプロパティが示すのは、要求されたリソース自体のデータのバイト数だけです。

ContentType プロパティ

ContentType プロパティは、サーバーによって送信される内容のタイプを識別するためにプロトコルがクライアントに送信するように要求する、すべての特殊な情報を提供します。通常、これは返されるすべてのデータの MIME コンテンツの種類です。

Headers プロパティ

Headers プロパティには、応答に関連付けられたメタデータの名前と値のペアの任意のコレクションが含まれています。名前と値のペアとして表すことができるプロトコルに必要なメタデータはすべて、Headers プロパティに含まれます。

ヘッダー メタデータを使用するために Headers プロパティを使用する必要はありません。プロトコル固有のメタデータは、プロパティとして公開できます。たとえば、HttpWebResponse.LastModified プロパティは、Last-Modified HTTP ヘッダーを公開します。ヘッダー メタデータをプロパティとして公開する場合は、Headers プロパティを使用して同じプロパティを設定することはできません。

ResponseUri プロパティ

ResponseUri プロパティには、実際に応答を提供したリソースの URI が含まれています。リダイレクトをサポートしていないプロトコルの場合、ResponseUri は応答を作成した WebRequestRequestUri プロパティと同じになります。プロトコルが要求のリダイレクトをサポートしている場合、ResponseUri にはその応答の URI が含まれます。

Close メソッド

Close メソッドは、要求で作成されたすべての接続を終了し、その応答で使用されたリソースをクリーンアップします。Close メソッドは、応答で使用されたすべてのストリーム インスタンスを終了しますが、その応答ストリームが Stream.Close メソッドへの呼び出しによって以前に終了されている場合は、例外をスローしません。

GetResponseStream メソッド

GetResponseStream メソッドは、要求されたリソースからの応答を含むストリームを返します。応答ストリームには、リソースによって返されたデータだけが含まれます。応答に含まれているヘッダーまたはメタデータはすべて、その応答から除去され、プロトコル固有のプロパティまたは Headers プロパティを使用してアプリケーションに公開されます。

GetResponseStream メソッドにより返されるストリーム インスタンスは、アプリケーションによって所有され、WebResponse を終了しなくても終了できます。規約により、WebResponse.Close メソッドを呼び出すことによっても GetResponse によって返されたストリームが終了されます。

参照

関連項目

WebResponse クラス
HttpWebResponse クラス
FileWebResponse クラス

概念

プラグ可能なプロトコルのプログラミング
WebRequest からの派生