Получать только новые сущности от dataservice к клиенту (feed?) - PullRequest
1 голос
/ 10 мая 2011

Я только начал работать со Службами данных WCF, поэтому извиняюсь, если не вижу смысла.

Я создаю онлайн-регистратор событий.Для этого я создал модель данных сущности ado.net и службу данных wcf.Это работает нормально, и я могу добавить события в свой сервис.

Сейчас я работаю над созданием клиента Windows для просмотра событий, и мне было интересно, есть ли какой-нибудь подход к обновлению клиента с помощьюновые события на регулярной основе.Поскольку будет большое количество событий, кажется неэффективным загружать все события для каждого обновления.

Чтобы предоставить больше информации, я могу упомянуть следующее:
1. Пользовательский класс TraceListener в программное обеспечение A отправляет события в службу данных.
2. Поскольку службы данных wcf могут выступать в качестве источника данных, я решил использовать этот подход вместо обычной веб-службы.
3.В настоящее время я создаю клиента в WPF.

Я с нетерпением жду ответов на этот вопрос.

Спасибо, Стефан

1 Ответ

0 голосов
/ 10 мая 2011

Службы данных WCF предоставляют ваши данные с использованием протокола OData.Это означает, что ваш клиент может легко запросить вашу службу данных, используя LINQ.

Для каждого запроса, который клиент отправляет на сервер, сохраняйте метку времени.В следующем запросе запрашивайте только те события, которые произошли после отметки времени, используя запрос LINQ на прокси-сервере, созданном ссылкой на службу.

var newEvents = myServiceRef.Events.Where(x => x.Timestamp >= lastTimestamp);

См. Также http://www.odata.org/ для получения дополнительной информации о протоколе ODataи http://msdn.microsoft.com/en-us/library/ee622463.aspx для получения дополнительной информации об использовании LINQ для доступа к службам данных WCF.

...