сохранение данных для службы WCF в Windows Azure - очень просто - PullRequest
0 голосов
/ 06 января 2012

У меня есть несколько таблиц (небольшого размера), сохраненных в Table Storage, которые я использую только для чтения.Когда моя служба запускается, я хотел бы прочитать все таблицы, сохранить данные в структуре данных (то есть в Списке) и затем читать из этого Списка.Есть ли способ сделать это, или я должен читать из хранилища таблиц каждый раз, когда мне нужны данные?Если есть способ, где должен быть объявлен список, и где он должен быть инициализирован?

Спасибо.

Ответы [ 4 ]

1 голос
/ 06 января 2012

Кэш Azure может быть лучшим маршрутом, но его стоимость очевидна.

Не могли бы вы объявить службу WCF как одноэлементную и сохранить данные как статическое свойство?

0 голосов
/ 07 января 2012

Я вижу, что другие предлагают статические свойства (хороший выбор) и Azure Chache. В любом случае, хорошо кэшировать данные, если они не часто обновляются, и не читать их каждый раз из хранилища таблиц.

Я хочу дать свои два цента:

Я бы не стал использовать Azure Cahce, если данные достаточно малы (1МБ для меня достаточно мал). Статическое свойство сделало бы работу. Но есть и кое-что новое в .NET 4.0, которое явно отсутствует в представлении большинства программ. Это пространство имен System.Runtime.Caching . Я еще не использовал его в предварительном порядке, но, похоже, это хорошо для небольших локальных кешей. Вы можете использовать объект MemoryCache и хранить ваши данные в памяти. И, конечно, программа, как против любого другого типа chache - в получателе свойства, проверьте, существуют ли данные в chache. Если существует - верните его. Если не существует - получить из таблиц, сохранить в chache, а затем вернуть его.

0 голосов
/ 06 января 2012

Если ваш список не слишком большой, вы можете использовать компонент кэширования Windows Azure http://www.windowsazure.com/en-us/home/tour/caching/. В процессе инициализации вашего сервиса, прочитайте информацию из ваших таблиц и сохраните ее там. Вы также спрашиваете, где список должен быть объявлен и инициализирован. Вы также размещаете свой сервис в Windows Azure? Это запуск веб-службы на IIS или службы Windows? Используете ли вы WCF для предоставления своих услуг?

0 голосов
/ 06 января 2012

Вы можете использовать службу кэширования Windows Azure для хранения данных.Смотри http://www.windowsazure.com/en-us/home/tour/caching/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...