プラグ可能なプロトコルのプログラミングProgramming Pluggable Protocols

抽象クラスの WebRequestWebResponse は、プラグ可能なプロトコルの基礎を提供します。The abstract WebRequest and WebResponse classes provide the base for pluggable protocols. アプリケーションでは、WebRequestWebResponse からプロトコル固有のクラスを派生することにより、使うプロトコルを指定しなくても、インターネット リソースにデータを要求して応答を読み取ることができます。By deriving protocol-specific classes from WebRequest and WebResponse, an application can request data from an Internet resource and read the response without specifying the protocol being used.

プロトコル固有の WebRequest を作成するには、その前に Create メソッドを登録する必要があります。Before you can create a protocol-specific WebRequest, you must register its Create method. WebRequest の静的 RegisterPrefix(String, IWebRequestCreate) メソッドを使って、特定のインターネット スキーム、スキームとサーバー、またはスキームとサーバーとパスに対する要求のセットを処理するための、WebRequest の子孫を登録します。Use the static RegisterPrefix(String, IWebRequestCreate) method of WebRequest to register a WebRequest descendant to handle a set of requests to a particular Internet scheme, to a scheme and server, or to a scheme, server, and path.

ほとんどの場合は、WebRequest クラスのメソッドとプロパティを使ってデータを送受信できます。In most cases you will be able to send and receive data using the methods and properties of the WebRequest class. ただし、プロトコル固有のプロパティにアクセスする必要がある場合は、WebRequest を特定の派生クラス インスタンスに型キャストできます。However, if you need to access protocol-specific properties, you can typecast a WebRequest to a specific derived-class instance.

プラグ可能なプロトコルを利用するには、WebRequest の子孫で、プロトコル固有のプロパティを設定する必要がない既定の要求-応答トランザクションを提供する必要があります。To take advantage of pluggable protocols, your WebRequest descendants must provide a default request-and-response transaction that does not require protocol-specific properties to be set. たとえば、HTTP 用の WebRequest クラスを実装する HttpWebRequest クラスは、既定で GET 要求を提供し、Web サーバーから返されたストリームを含む HttpWebResponse を返します。For example, the HttpWebRequest class, which implements the WebRequest class for HTTP, provides a GET request by default and returns an HttpWebResponse that contains the stream returned from the Web server.

関連項目See also