このトピックはまだ評価されていません - このトピックを評価する

WebClient クラス

2013/12/12

URI で識別されるリソースとの間でデータを送受信するための共通のメソッドが用意されています。

System.Object
  System.Net.WebClient

Namespace:  System.Net
アセンブリ:  System.Net (System.Net.dll 内)
public class WebClient

WebClient 型で公開されるメンバーは以下のとおりです。

  名前説明
パブリック メソッドWebClientWebClient クラスの新しいインスタンスを初期化します。
このページのトップへ
  名前説明
パブリック プロパティAllowReadStreamBufferingWebClient インスタンスのインターネット リソースから読み取ったデータをバッファーするかどうかを示す値を取得または設定します。
パブリック プロパティAllowWriteStreamBufferingWebClient インスタンスのインターネット リソースに書き込んだデータをバッファーするかどうかを示す値を取得または設定します。
パブリック プロパティBaseAddressWebClient で作成された要求のベース URI を取得または設定します。
パブリック プロパティCredentialsホストに送信し、要求の認証に使用するネットワーク資格情報を取得または設定します。
パブリック プロパティEncoding文字列のアップロードとダウンロードに使用する Encoding を取得または設定します。
パブリック プロパティHeaders要求に関連付けられているヘッダーの名前/値ペアのコレクションを取得または設定します。
パブリック プロパティIsBusyWeb 要求が進行中であるかどうかを示す値を取得します。
パブリック プロパティResponseHeaders応答に関連付けられているヘッダーの名前/値ペアのコレクションを取得します。
パブリック プロパティUseDefaultCredentials既定の資格情報が要求と共に送信されるかどうかを制御する Boolean 値を取得または設定します。
このページのトップへ
  名前説明
パブリック メソッドCancelAsync保留中の非同期操作をキャンセルします。
パブリック メソッドDownloadStringAsync(Uri)指定した Uri にあるリソースを文字列としてダウンロードします。
パブリック メソッドDownloadStringAsync(Uri, Object)指定した Uri にあるリソースを文字列としてダウンロードします。
パブリック メソッドEquals(Object)指定した Object が、現在の Object と等しいかどうかを判断します。 (Object から継承されます。)
プロテクト メソッドFinalizeObject がガベージ コレクションで再利用される前に、Object がリソースを解放して他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。)
パブリック メソッドGetHashCode特定の型のハッシュ関数として機能します。 (Object から継承されます。)
パブリック メソッドGetType現在のインスタンスの Type を取得します。 (Object から継承されます。)
プロテクト メソッドGetWebRequest指定したリソースの WebRequest オブジェクトを返します。
プロテクト メソッドGetWebResponse指定した IAsyncResult を使用して、指定した WebRequestWebResponse を返します。
プロテクト メソッドMemberwiseClone現在の Object の簡易コピーを作成します。 (Object から継承されます。)
プロテクト メソッドOnDownloadProgressChangedDownloadProgressChanged イベントを発生させます。
プロテクト メソッドOnDownloadStringCompletedDownloadStringCompleted イベントを発生させます。
プロテクト メソッドOnOpenReadCompletedOpenReadCompleted イベントを発生させます。
プロテクト メソッドOnOpenWriteCompletedOpenWriteCompleted イベントを発生させます。
プロテクト メソッドOnUploadProgressChangedUploadProgressChanged イベントを発生させます。
プロテクト メソッドOnUploadStringCompletedUploadStringCompleted イベントを発生させます。
プロテクト メソッドOnWriteStreamClosedWriteStreamClosed イベントを発生させます。
パブリック メソッドOpenReadAsync(Uri)指定されたリソースへの読み取り可能なストリームを開きます。
パブリック メソッドOpenReadAsync(Uri, Object)指定されたリソースへの読み取り可能なストリームを開きます。
パブリック メソッドOpenWriteAsync(Uri)指定したリソースにデータを書き込むためのストリームを開きます。このメソッドは、呼び出し元のスレッドをブロックしません。
パブリック メソッドOpenWriteAsync(Uri, String)指定したリソースにデータを書き込むためのストリームを開きます。このメソッドは、呼び出し元のスレッドをブロックしません。
パブリック メソッドOpenWriteAsync(Uri, String, Object)指定したメソッドを使用して、指定したリソースにデータを書き込むためのストリームを開きます。このメソッドは、呼び出し元のスレッドをブロックしません。
パブリック メソッドToString現在のオブジェクトを表す文字列を返します。 (Object から継承されます。)
パブリック メソッドUploadStringAsync(Uri, String)指定したリソースに指定した文字列をアップロードします。このメソッドは、呼び出し元のスレッドをブロックしません。
パブリック メソッドUploadStringAsync(Uri, String, String)指定したリソースに指定した文字列をアップロードします。このメソッドは、呼び出し元のスレッドをブロックしません。
パブリック メソッドUploadStringAsync(Uri, String, String, Object)指定したリソースに指定した文字列をアップロードします。このメソッドは、呼び出し元のスレッドをブロックしません。
このページのトップへ
  名前説明
パブリック イベントDownloadProgressChanged非同期ダウンロード操作で、データの一部またはすべてが正常に転送された場合に発生します。
パブリック イベントDownloadStringCompleted非同期のリソース ダウンロード操作の完了時に発生します。
パブリック イベントOpenReadCompleted非同期のリソース読み取り操作が完了すると発生します。
パブリック イベントOpenWriteCompletedリソースにデータを書き込むためにストリームを開く非同期操作の完了時に発生します。
パブリック イベントUploadProgressChanged非同期アップロード操作で、データの一部またはすべてが正常に送信された場合に発生します。
パブリック イベントUploadStringCompleted非同期の文字列アップロード操作の完了時に発生します。
パブリック イベントWriteStreamClosed非同期の書き込みストリーム操作が完了すると発生します。
このページのトップへ

WebClient クラスは、WebRequest クラスを使用して、リソースへのアクセスを提供します。

リソースにデータをアップロードするための WebClient のメソッドを次の表に示します。

Method

説明

OpenWriteAsync

呼び出し元のスレッドをブロックせずに、リソースに非同期でデータを送信するために使用する Stream を取得します。

UploadStringAsync

呼び出し元のスレッドをブロックせずに、リソースに String を送信します。

リソースからデータをダウンロードするための WebClient のメソッドを次の表に示します。

Method

説明

DownloadStringAsync

呼び出し元のスレッドをブロックせずに、リソースから String をダウンロードします。

OpenReadAsync

呼び出し元のスレッドをブロックせずに、リソースから非同期にデータを返します。

CancelAsync メソッドを使用すると、未完了の非同期操作をキャンセルできます。

WebClient インスタンスは、既定では省略可能な HTTP ヘッダーを送信しません。要求に省略可能なヘッダーを使用する場合は、そのヘッダーを Headers コレクションに追加する必要があります。

一部のヘッダーは制限付きと見なされ、直接公開されるか (Content-Type など)、システムによって保護され、WebHeaderCollection オブジェクトでは設定できません。WebHeaderCollection オブジェクトのいずれかの制限付きヘッダーを、Item[HttpRequestHeader] プロパティまたは Item[String] プロパティを使って設定しようとすると、例外がスローされます。WebHeaderCollection オブジェクトが HttpWebRequest オブジェクトに関連付けられている場合、Item[HttpRequestHeader] プロパティによって例外がスローされます。WebHeaderCollection オブジェクトが WebClient オブジェクトに関連付けられている場合、WebClient 要求を送信しようとした時点で例外がスローされます。

制限付きヘッダーの一覧については、WebHeaderCollection クラスの「解説」を参照してください。

クロス ドメイン接続により、アプリケーションが、発信元サイト以外の場所のリソースにアクセスできます。これは、アプリケーションから Web 上の既存のサービスを利用できるようにするうえで重要な機能です。セキュリティ ポリシー システムは、ネットワーク リソースからポリシー ファイルがダウンロードされない限り、そのリソースへのアクセスをネットワーク接続に許可しません。このセキュリティ ポリシー システムは、System.Net 名前空間の WebClient クラスおよび HTTP クラスのドメイン間ネットワーク アクセスに影響します。WebClient クラスと HTTP クラスの、発信元サイトまたは発信元ホストに対するネットワーク接続では、セキュリティ ポリシーは不要です。

セキュリティ上の理由から、System.Net 名前空間の WebClient クラスおよび HTTP クラスによる、特定の URL クラスへのアクセスは制限されます。System.Windows.Controls 名前空間の ImageMediaElement クラスなど、他のクラスにも同様のアクセス制限が適用されます。また、XAML ソース ファイルやフォント ファイルにも、URL のクラスに基づくアクセス制限が適用されます。

この影響を受ける接続は、ゾーン間、ドメイン間、およびスキーム間の URL アクセスです。これらの制限はネットワークの脅威を回避するために設計されています。

セキュリティ上の理由から、WebClient クラスは、対象のドメイン間サイトに適用されるセキュリティ ポリシーによって許可されていない限り、クロスドメイン サイトへの特定のヘッダーの送信が制限されます。この制限は、元のサイト以外の場所のリソースに適用されます。認証ヘッダーは、Headers プロパティを使用して設定できます。ただし、資格情報を正しく設定するには、認証ヘッダーの送信が許可されるように、対象に適用されるドメイン間ポリシーの HTTP 要求ヘッダーが設定されている必要があります。

機能

この API をアプリ内で使用する場合は、アプリ マニフェストで次の機能を指定する必要があります。この機能を指定しないと、アプリが正しく機能しないか、予期せずに終了することがあります。

ID_CAP_NETWORKING

Windows Phone 8, Windows Phone OS 7.1

詳細については、「Windows Phone のアプリ機能とハードウェア要件」を参照してください。

バージョンについてのメモ

Windows Phone

 同時に 6 個のアクティブな Web サービスとの接続が可能です。接続が利用可能になるまで、追加の要求は一時停止されます。

継承時の注意

派生クラスは、WebClient の基本クラスの実装を呼び出して、派生クラスが予想どおりに動作できるようにする必要があります。

Windows Phone OS

サポート: 8.0, 7.1, 7.0
この型のすべてのパブリック static (Visual Basic では Shared) メンバーは、スレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。

この情報は役に立ちましたか。
(残り 1500 文字)
フィードバックをいただき、ありがとうございました
表示:
© 2014 Microsoft. All rights reserved.