winformでは、ボタンをクリックするとこのメソッドが呼び出され、リンクコンテンツが文字列としてダウンロードされ、文字列の長さがテキストボックスに表示されます。これはすべて非同期で発生します。これを同期させる方法はありますか?C#では、HttpClient.getStringAsync()メソッドの同期代替とは何ですか?
答えて
あなただけ.Result
を取ることによって、任意のタスクブロックを行うことができます。
string response = client.GetStringAsync(...).Result;
しかし、これはあなたがそれを行うべきではないUIスレッド上で実行されている場合。 UIスレッドのブロッキングがうまくいきません。非同期を受け入れる。
ありがとう...私はすべての私の心でそれを受け入れる...ちょうどテスト/学習の目的のために知りたがっています... –
これを行う前に考えるべきちょうど1つ:これはエラー処理を完全に変更します。 WebExceptionの代わりに、AggregateExceptionsは設計によってのみ受け取ります。また、httpClientには、タイムアウトが発生した場合に一般的なTaskCanceledExceptionを生成するバグがあるようです。 – Andreas
WebClient.DownloadStringメソッドを使用できます。このメソッドは、リソースのダウンロード中にブロックされます。
string response = new WebClient().DownloadString(uri);
https://msdn.microsoft.com/en-us/library/fhd1f0sw(v=vs.110).aspx
RestSharpはHttpClientをに優れたオープンソースの代替です。これは、同期要求と非同期要求の両方をサポートします。
- 1. 以下のpowershellコードのC#の代替とは何ですか?
- 2. Pythonでのcv2.line()メソッドの代替は何ですか?
- 3. C/C++用のマルチデータベースライブラリの代替手段は何ですか?
- 4. Internet Explorerのformdata.get()メソッドの代替手段は何ですか?
- 5. 同期メソッドとJavaの同期ブロックの違いは何ですか?
- 6. C#でJavaのfloat.floatToRawIntBitsと同等のメソッドは何ですか?
- 7. 属性の代替は何ですか?
- 8. C#のイオンジップの代替品は何ですか?
- 9. C++のDiag(k)の代替方法は何ですか?
- 10. Objective-CのID変数の代替名は何ですか?
- 11. Javaの「同期」とは何ですか?
- 12. cコールの同期はコマンドの同期と同じですか?
- 13. WCF。サービスの非同期メソッドと同期メソッドのパフォーマンスの違いは何ですか?
- 14. アンドロイドの同期と非同期は何ですか?
- 15. C#のArccosメソッドとは何ですか?
- 16. EnableHdMenuの代替となるExtJS 4とは何ですか?
- 17. Cでは、sscanfの安全な代替手段は何ですか?
- 18. .NETはJavaのGlyphVectorと同等か代替ですか?
- 19. 代替メソッドEncoding.Unicode.GetBytes in native C++
- 20. 最適化メソッドとは何ですか? luceneの最新バージョンで最適化メソッドの代替手段
- 21. 非同期メソッドに関連するVoidTaskResult型は何ですか?
- 22. OpenGLのglDrawBuffersを実装するためのwebGl代替メソッドは何ですか?
- 23. AsyncFacebookRunnerの代替クラスとは何ですか?Facebook SDKのFacebookも
- 24. AndroidのlocalTimeとlocalDateの代替クラスは何ですか?
- 25. Javascript同期XMLHttpRequestの代替手段(Safariでのタイムアウトとして)
- 26. .hide( "slow")は同期または非同期メソッドですか?
- 27. iostreamsとstringstreamsの代替手段は何ですか?
- 28. Firefox 3.xの代替動作とは何ですか?
- 29. HttpclientのReadWriteTimeout代替とは何ですか
- 30. headerCt.getMenu();の代替とは何ですか? Ext JS 3
'DownloadString'? – AgentFire