2012-01-17 7 views
2

Скажем, у меня есть GridView, GridView отобразит данные из базы данных через WCF.Как сохранить данные в Silverlight?

Единственный способ, которым я могу думать использует

  1. таймер держать на запрос от WCF (простейшим).

  2. Лучший способ сделать это получить уведомление при изменении данных в базе данных , чтобы использовать уведомления о запросах. Но теперь WCF находится посередине между клиентом и базой данных Silverlight, , поэтому уведомление о запросе будет проходить только по WCF. Затем мне понадобится , чтобы заставить WCF использовать дуплексную связь. (Похоже, массовое убийство ...)

  3. Refresh ... кнопка .... (это шутка)

Есть ли лучший способ сделать это?

ответ

0

Раньше я работал в компании, производящей медицинское программное обеспечение, и у нас было приложение, которое должно было контролировать врачей и заказы и постоянно обновляться. Мы использовали таймер, как описано выше. Для этого были некоторые дополнительные компоненты - например, мы могли бы изменить частоту дискретизации в программном обеспечении, чтобы во время занятости мы могли чаще пинговать БД, в более медленные моменты, реже. Также было реализовано кэширование. Была также система, позволяющая сначала извлекать меньший объем данных, а затем тянуть больше только при необходимости. Например, если врач не проводил раундов со времени последнего обновления, тогда не было необходимости проверять, обновляется ли информация о пациенте. Вроде того.

+0

Да, я видел такую ​​подобную реализацию. У нас была небольшая таблица, которая будет указывать, есть ли какие-либо изменения в таблице данных и версии для таблицы базы данных. Таким образом, он извлекает фактические данные только при изменении данных. Таймер с разной частотой выборки - хорошая идея, она экономит много полосы пропускания. Но я хочу посмотреть, есть ли что-то похожее на 2. На самом деле извлекайте данные только тогда, когда их нужно вытащить, поэтому нам не нужно держать ping базу данных (или WCF здесь). –

Смежные вопросы