/ / Офлайн-клієнт та повідомлення для azure - wcf, azure

Офлайн клієнт і повідомлення до лазур - wcf, блакитний

Я граюся з лазурними вікнами і хотів билюблять створювати хмарний серверний додаток, який отримує повідомлення від багатьох різних клієнтів, таких як мобільні та настільні. Я хотів би побудувати клієнта, щоб він працював, перебуваючи в "автономному режимі", тобто я хотів би, щоб клієнт створив локальну чергу повідомлень, які надсилаються на лазурний сервер, як тільки вони потрапляють в Інтернет.

Чи можу я досягти цього, використовуючи wcf та / або блакитний механізм черги, щоб мені не потрібно було турбуватися про те, чи клієнт перебуває в мережі чи в автономному режимі, коли я пишу код?

Відповіді:

1 для відповіді № 1

Вам не потрібно буде робити черги в хмаріце. Щоб клієнтська програма могла працювати в автономному режимі, вам потрібно зробити чергу для клієнта. Для цього існує безліч варіантів, локальна база даних, файли xml тощо. Кожного разу, коли програма визначає доступність мережі, ви можете завантажити свою чергу в Azure. І так, ви можете використовувати WCF для цього.

Що стосується черги клієнта / синхронізації, ви можете подивитися рамки синхронізації.


1 для відповіді № 2

Поки що я не знайшов великої потреби в черзі.Можливо, це просто те, що я не бачу цього у своєму поданні програми. Також може бути, що дані, які ви можете зберігати в черзі, мінімальні. В основному ви зберігаєте короткі текстові рядки (наприклад, ідентифікатори записів), а потім вам потрібно щось робити з ідентифікатором, коли ви витягуєте його з черги, наприклад шукаєте, видаляєте, що завгодно.

У моєму додатку я взагалі не використовував чергу, так само- пропонує Петро. Я писав безпосередньо на сховище таблиці (доступ до нього через REST-інтерфейс за допомогою StorageClient) від клієнта. Якщо ви хочете переглянути конкретний приклад, подивіться на http://www.netalerts.mobi/traffic. Як і ви, я хотів вивчити Azure, тому створив невеликий веб-сайт.

Там є worker_role, який прокидається кожні 60секунд. Використовуючи один потік, він отримує будь-які нові дані з його джерела (витирання екрана веб-сторінки). Нові записи зберігаються безпосередньо в сховищі таблиці (немає потреби в черзі). Інший потік видаляє записи в сховищі таблиці, які є старшими за заданий поріг (немає проблем із запуском декількох потоків проти сховища таблиці). І тоді я працюю над третім потоком, який призначений для надсилання повідомлень на портативні пристрої.

Сама програма, очевидно, є web_role.