HTTP Webサービスを使用したいのですが、すでにwp7用のアプリを開発しています。
WebClientクラスを使用していますが、Windows 8では使用できません(「エラー:タイプまたは名前空間が見つかりません」)。
他に何を使用できますか?
コードのサンプルを教えていただけますか?
名前空間が存在しない場合に役立つサイトがMicrosoftにありますか?
オプション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 に、メトロで使用可能な名前空間、クラスのリストがあります。