Лучший способ обновить удаленную веб-базу данных из приложения winforms - PullRequest
1 голос
/ 05 июня 2011

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

У меня на рабочем столе есть приложение ac # winforms, которое похоже на CRM.Я делаю обновления в записях клиентов, когда они отправляют заказы / счета-фактуры и т. Д., И я хотел бы создать (или купить) модуль, который будет обновлять удаленную базу данных, которая находится за веб-сайтом, для регистрации зарегистрированных клиентов. Я хочу, чтобыклиенты смогут видеть статус их счета / покупки и т. д., как я обновил его в приложении winforms.

Я могу вспомнить пару вариантов, но мне хотелось бы узнать большеесли вы сделали что-то похожее

Вещи, которые я рассматриваю, являются:

  1. > Репликация - я думаю, что это излишне, поскольку обновления невелики, являются односторонними и не критичнымиони в режиме реального времени, а также я запускаю SQL Express в приложении winforms.Это можно изменить, но не
  2. > создать текстовый / xml-файл, который создается и загружается на веб-сервер в местоположение, которое отслеживается каждые 5 минут, а затем обновляет веб-базу данных.- Я сам не размещаю сайт, поэтому у меня нет полного контроля над тем, что я могу установить, но я подозреваю, что могу установить .NET 'filewatcher'

В любом случае, я был бы признателен за ваши мысли о моем'проблема'

спасибо

1 Ответ

1 голос
/ 05 июня 2011

Я думаю, что вам лучше всего создать какой-нибудь веб-сервис (мне нравится использовать ServiceStack.net для создания простых REST-сервисов, гораздо более чистых, чем WCF). Он будет находиться на сервере и отвечать за синхронизацию на стороне сервера.

На клиенте вы можете либо заставить приложение winforms запускать вызов веб-службы на основании некоторого порога активности, либо у вас может быть служба Windows, которую вы устанавливаете с приложением winforms, которое делает это в запланированном задании или по таймеру.

Вы, конечно, захотите убедиться, что вы делаете все свои звонки по SSL, и убедитесь, что вы аутентифицируете клиентов, но я бы выбрал базовый архитектурный подход.

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