web-dev-qa-db-ja.com

WebClientクラスはWindows8には存在しません

HTTP Webサービスを使用したいのですが、すでにwp7用のアプリを開発しています。

WebClientクラスを使用していますが、Windows 8では使用できません(「エラー:タイプまたは名前空間が見つかりません」)。

他に何を使用できますか?

コードのサンプルを教えていただけますか?

名前空間が存在しない場合に役立つサイトがMicrosoftにありますか?

18
NicoMinsk

オプション1:確定的な進行状況通知が必要ない場合は、HttpClientを使用します。例。

public async Task<string> MakeWebRequest()
{
       HttpClient http = new System.Net.Http.HttpClient();
       HttpResponseMessage response = await http.GetAsync("http://www.example.com");
       return await response.Content.ReadAsStringAsync();
}

オプション2:進行状況の通知が必要な場合は、 DownloadOperation または BackgroundDownloader を使用できます。これは サンプル MSDNの良いスタートです。

オプション3:Webサービスについて言及し、XMLを返す場合は、 XmlDocument.LoadFromUriAsync を使用すると、XMLドキュメントが返されます。例

public async void DownloadXMLDocument()
{
      Uri uri = new Uri("http://example.com/sample.xml");
      XmlDocument xmlDocument = await XmlDocument.LoadFromUriAsync(uri);
      //do something with the xmlDocument.
}

メトロ用に開発している場合、.Netフレームワークはデスクトップバージョンと比較して制限されます。名前空間が見つからないというエラーが表示された場合は、通常、この事実が原因です。これは、MSDNの link に、メトロで使用可能な名前空間、クラスのリストがあります。

27
sarvesh