3

Windows azure で遊んでいます。モバイルやデスクトップなど、さまざまなクライアントからメッセージを受信するクラウド サーバー アプリケーションを構築したいと考えています。「オフライン モード」で動作するようにクライアントを構築したいと考えています。つまり、オンラインになるとすぐに Azure サーバーに送信されるメッセージのローカル キューをクライアントに構築させたいと考えています。

コードを記述するときにクライアントがオンラインかオフラインかを気にする必要がないように、wcf や Azure キューイング メカニズムを使用してこれを実現できますか?

4

2 に答える 2

2

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

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

于 2009-05-27T08:22:41.067 に答える
1

これまでのところ、キューの大きな必要性は見つかりませんでした。たぶん、アプリビューに表示されていないだけです。また、キューに保存できるデータが最小限である可能性もあります。基本的に短いテキスト文字列 (レコード ID など) を保存し、ID をキューからプルするときに、検索、削除など、ID を使用して何かを行う必要があります。

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

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

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

于 2009-06-02T00:35:12.383 に答える