0

このmsdnページで私は読んだ:

アプリケーションでは、特定のリクエストに対して同期メソッドと非同期メソッドを混在させることはできません。BeginGetRequestStream メソッドを呼び出す場合は、BeginGetResponse メソッドを使用して応答を取得する必要があります。

逆もまた然り?BeginGetResponse非同期で応答を読み取るために呼び出した場合BeginGetRequestStream、要求の書き込みにも使用する必要がありますか?

私の要求は小さく (100 ~ 1000 文字)、応答は大きくなる可能性があります。 Jeffrey Richter によるこの投稿は、小さなペイロードの場合、同期的に (ContentLengthプロパティを設定せずに) 実行できると言っているようです。あれは正しいですか?

4

1 に答える 1

0

技術的にはいいえ、要求同期的に送信し、要求に応じて非同期で応答を処理することも、その逆も可能ですが、一般的にはお勧めしません。一貫性を保つために、ニーズに最も適したアプローチを選択し、同じアプローチを使用してリクエスト/レスポンスの両方を実装します

アプローチを組み合わせる可能性のある例としては、完了するまでに時間がかかるレポートのリクエストを送信する場合などがあります。続行する前に要求が完全に送信されていることを確認したいので (たとえば、Windows アプリから送信された場合の接続の問題を考慮して)、要求を同期的に送信しますが、応答を非同期に処理します。応答が戻ってくるのを待っている間の UI。それでも、送受信の両方に対するアプローチに一貫性を持たせることをお勧めします。

于 2013-02-21T18:24:37.387 に答える