私はHTTP Webサービスを使いたいと思います.WP7用のアプリを既に開発しました。WebClientクラスがWindows 8に存在しません
私はWebClientクラスを使用しますが、Windows 8では使用できません( "エラー:タイプまたは名前空間が見つかりません")。
他に何が使えますか?
私はコードのサンプルを提供できますか?
Microsoftには、名前空間が存在しない場合に役立つサイトがありますか?
私はHTTP Webサービスを使いたいと思います.WP7用のアプリを既に開発しました。WebClientクラスがWindows 8に存在しません
私は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のsampleはこれが良いスタートです。
オプション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には、メトロの名前空間、クラスのリストがあります。
"windows8"とは、実際には "WinRT"を意味しますか?これは、通常の.NETフレームワークをターゲットとするWindows 8上では問題なく動作するはずです。 WinRTをターゲットにしている場合は、WinRTが提供するものを使用する必要があります。 –
1.名前空間ではなく、クラスです。 2.はい、WinRTには存在しません。これは、同期呼び出しの悪い習慣を奨励するからです。代わりにHttpWebRequestクラスを使用してください。 – wizzard0
"はい、WinRTには存在しません。これは、同期呼び出しを実行することを奨励しているからです。これは、WebClientにほとんどのメソッドがAsyncバージョンであるため、WebClientがWinRTに存在しない理由ではありません。 WinRTから欠落している理由は他の理由が考えられるためです。 –