2009-05-27 7 views
2

私は窓の紺碧で遊んでいます。私は、モバイルやデスクトップなど、さまざまなクライアントからのメッセージを受信する曇ったサーバーアプリケーションを構築したいと思います。 「オフラインモード」で作業するようにクライアントを構築したい、つまり、クライアントがオンラインになるとすぐに紺碧のサーバーに送信されるメッセージのローカルキューを構築したいと考えています。オフラインのクライアントとメッセージを紺に変換する

私はコードを書くときにクライアントがオンラインであるかオフラインであるかを心配する必要がないように、wcfおよび/または紺碧のキューメカニズムを使用してこれを達成できますか?

答えて

1

これを達成するためにクラウドにキューイングする必要はありません。クライアントアプリケーションを「オフラインにする」にするには、クライアントでキューイングを行う必要があります。これには、多くのオプション、ローカルデータベース、xmlファイルなどがあります。アプリケーションがネットワークの可用性を感知するたびに、キューをAzureにアップロードすることができます。そして、はい、あなたはそれのためにWCFを使用することができます。

クライアントキュー/同期の場合は、the Sync Frameworkをご覧ください。

1

私はこれまでキューの大きな必要性を見いだせませんでした。たぶん私はそれが私のアプリのビューでは見ていないだけです。また、キューに保存できるデータが最小限であることもあります。あなたは基本的に(レコードIDのような)短いテキスト文字列を格納しています。そして、それをルックアップしたり削除したりするなど、キューから取り出したときにIDを使って何かをしなければなりません。

私のアプリでは、ピーターが示唆するように、キューをまったく使用しませんでした。私はテーブルストレージ(クライアントからStorageClientを使用してRESTインターフェイス経由でアクセス)に直接書きました。具体的な例を見たい場合は、http://www.netalerts.mobi/trafficをご覧ください。あなたのように、私はAzureを学びたいので、小さなWebサイトを作った。

60秒ごとに起きるworker_roleがあります。 1つのスレッドを使用して、新しいデータをソースから取得します(Webページのスクリーニング画面)。新しいエントリはテーブルストレージに直接格納されます(キューは必要ありません)。別のスレッドは、指定されたしきい値よりも古いテーブルストレージのエントリを削除します(テーブルストレージに対して複数のスレッドを実行することに問題はありません)。そして、ハンドヘルドデバイスに通知を送信するように設計された3番目のスレッドに取り組んでいます。

アプリ自体は明らかにweb_roleです。

関連する問題