2012-04-21 6 views
2

Windows Phone 7アプリケーション&は、HttpWebRequest.GetResponse()を使用して同期REST呼び出しを試みていましたが、GetResponse()が使用できないと不平を言っていました。私はHttpWebRequestでBeginGetResponse()とEndGetResponse()を見つけました。しかし、私が読んでいるところでは、これらの2つの方法は非同期呼び出しに使用されています。WP7で同期Http/RESTコールを行いますか?

私たちのデザインは、唯一の同期要求をサポートするために実装された誰も私に教えてください可能性があり、「WP7で同期呼び出しを作るための方法はあり、」

+0

いいえ、UIをブロックできるので、同期呼び出しを行うことはできません。 Silverlightには同期I/O呼び出しが含まれていません。 – Gabe

+0

@ Gabe:ワーカースレッドから同期要求を行うと、実際には同期要求に害はありません。 –

答えて

3

あなたは非同期までAutoResetEventに遮断することによって、同期要求をシミュレートすることができますコールが戻ります。 See here for a reference implementation.

+1

私はこれに非常に類似した何かを使用します。注意すべき2つのこと。 1. 'AutoResetEvent'は正しくクリーンアップされていません - ' using(){} 'ブロックに移動する必要があります。これらのメソッド**はバックグラウンドスレッドから呼び出さなければなりません。 UIスレッドで呼び出された場合、**デッドロック**が発生します。 – MrMDavidson

+0

Mihaiありがとうございました。それは私のために働いた。 – Nannu

+0

聞いてよかったです!おそらくあなたは私の答えを受け入れることができるでしょうか? – Mihai

関連する問題