.NET Framework のネットワーク操作の基礎
更新 : 2007 年 11 月
Microsoft .NET Framework には、アプリケーションにすばやく簡単に統合できる、複数層の拡張可能なインターネット サービスのマネージ実装が用意されています。これらのクラスを使用するには、名前を完全修飾するか、または、関係するコードの先頭に 1 つまたは複数の Imports ステートメントを記述して、適切な名前空間をインポートする必要があります。詳細については、「Imports ステートメント (.NET 名前空間および型)」を参照してください。
インターネット リソースへのアクセス
要求/応答モデルでインターネット リソースにアクセスするには、3 つの情報が必要です。これらは、それぞれ固有の .NET Framework クラスとして用意されています。
Uri クラスには、インターネット リソースの URI (Uniform Resource Identifier) が格納されています。URI は、少なくとも 3 つの部分で構成され、場合によっては 4 つになります。具体的には、通信プロトコルを識別するスキーム識別子、サーバー識別子、パス識別子、および省略可能なクエリ文字列の 4 つです。
WebRequest クラスには、リソースに対する要求が格納されています。
WebResponse クラスは、受け取る応答用のコンテナです。
データのアップロードとダウンロード
インターネット リソースに対して単純な要求を行う必要があるアプリケーションについては、データをアップロードまたはダウンロードするためのメソッドが WebClient クラスに用意されています。WebClient は WebRequest クラスを使用してインターネット リソースへのアクセスを実現するので、登録されているプラグ可能なプロトコルはどれでも使用できます。
System.Net.Sockets 名前空間には、要求/応答モデルを使用しないアプリケーションやネットワークに対して待機する必要があるアプリケーション用として、TcpClient、TcpListener、および UdpClient の各クラスが用意されています。これらのクラスは、さまざまなトランスポート プロトコルを使用して接続のための詳細を処理し、ネットワーク接続をストリームとしてアプリケーションに公開します。
詳細については、「データの要求」を参照してください。
次の表は、インターネット リソースに対するデータ要求に関する一般的なタスクの一覧です。
目的 |
参照項目 |
---|---|
インターネット要求を作成する。 |
|
ネットワークにデータを送信する。 |
|
インターネット リソースに対して非同期の要求を行う。 |
|
HTTP 固有のプロパティにアクセスする。 |
|
特定の要求を接続プールに関連付ける。 |
|
プロキシ インスタンスを構成する。 |
|
インターネット リソースに対して非同期の要求を行う。 |
|
TCP を使用してデータを要求する。 |
|
UDP を使用してデータを要求する。 |
プラグ可能なプロトコル
WebRequest 抽象クラスと WebResponse 抽象クラスは、プラグ可能なプロトコルの基本クラスです。WebRequest クラスと WebResponse クラスからプロトコル固有のクラスを派生することで、使用するプロトコルを指定せずに、インターネット リソースからのデータを要求し、応答を読み取ることができます。
詳細については、「プラグ可能なプロトコルのプログラミング」を参照してください。
次の表は、プラグ可能なプロトコルに関する一般的なタスクの一覧です。
目的 |
参照項目 |
---|---|
WebRequest を派生する。 |
|
WebResponse を派生する。 |
|
プロトコル固有のプロパティにアクセスする。 |
ネットワークのトレース
ネットワークのトレースでは、メソッド呼び出しについての情報、およびマネージ アプリケーションによって生成されるネットワーク トラフィックについての情報にアクセスできます。この機能は、開発中のアプリケーションのデバッグや、配置済みのアプリケーションの分析に役立ちます。ネットワークのトレースの出力は、開発時および稼動環境でのさまざまな使用方法をサポートするようにカスタマイズできます。
詳細については、「ネットワークのトレース」を参照してください。
次の表は、ネットワークのトレースに関する一般的なタスクの一覧です。
目的 |
参照項目 |
---|---|
ネットワークのトレースを有効にする。 |
|
トレース情報を読み取る。 |
|
ネットワークのトレースを構成する。 |
キャッシュ管理
キャッシュとは、アプリケーションによって要求されたリソースの一時的なストレージです。アプリケーションが、同じリソースを 2 回以上要求した場合、そのリソースをキャッシュから返すことができます。これにより、同じリソースをサーバーに再度要求するというオーバーヘッドを避けることができます。
要求されたリソースのキャッシュ コピーで要求を満たせるかどうかの判断は、キャッシュ ポリシーによって定義した規則に基づいて行われます。
詳細については、「ネットワーク アプリケーションのキャッシュ管理」を参照してください。
次の表は、キャッシュ管理に関する一般的なタスクの一覧です。
目的 |
参照項目 |
---|---|
位置ベースのキャッシュ ポリシーを設定する。 |
|
既定の時間ベースのキャッシュ ポリシーを設定する。 |
|
時間ベースのキャッシュ ポリシーをカスタマイズする。 |
|
要求に対してキャッシュ ポリシーを設定する。 |
セキュリティ
System.Net クラスには、インターネット アプリケーションで共通で使用される認証機構のサポートや .NET Framework のコードアクセス許可のサポートが組み込まれており、インターネット アプリケーション用にセキュリティ保護された環境を提供します。
詳細については、「System.Net クラスのベスト プラクティス」を参照してください。
次の表は、セキュリティに関する一般的なタスクの一覧です。
目的 |
参照項目 |
---|---|
HTTP サーバーに対して SSL (Secure Sockets Layer) 接続を使用する。 |
|
HTTP 認証メソッドを使用して、HTTP サーバーに対し、認証された接続を確立する。 |
|
インターネット接続を使用するアプリケーションにコード アクセス セキュリティを設定する。 |
|
基本認証およびダイジェスト認証を使用する。 |
|
NTLM 認証および Kerberos 認証を使用する。 |
|
System.Net を使用して XML Web サービスをセキュリティ保護する。 |