@iluxa1810

Как правильно спроектировать службу?

Стоит задача сделать клиент к MS SQL базе, который общается со службой на сервере. Сам служба отвечает на запросы пользователя и предоставляет необходимые данные с MS SQL сервера. Помимо того, что служба отвечает на запросы клиента, служба должна выполнять в фоне некоторые действия с бд(Это не действия по запросу пользователя).

Подскажите, это можно сделать в рамках одной службы или нет?

Читал, что есть WCF службы, которые как раз подходят под первый пункт задания(Общение с клиентом), но не нашел информации могут ли они чего-нибудь еще в фоне делать.

Никогда ранее не работал со службами и буду признателен за ссылки на ресурсы и статьи.
  • Вопрос задан
  • 307 просмотров
Пригласить эксперта
Ответы на вопрос 2
Во-первых вам нужно ОЧЕНЬ ЧЕТКО понять принципиальную разницу между терминами "WCF service" и "windows service", т.к. общего между ними немного. Первое это про веб-сервисы, второе - это тоже что и демоны в *nix-системах. Первое это про архитектуру распределенной системы, второе это про жизненный цикл программы (как, когда и кем запускается/останавливается).

Поэтому:
1) если разработка под Винду, и
"служба должна выполнять в фоне некоторые действия с бд"

то почитайте про Windows Service - на шарпе такие пишутся относительно просто. Это не единственный способ запустить процесс, который будет крутиться и сам что-то делать в базе, но он предпочтителен.
2) если взаимодействие с клиентом подразумевается не по самодельному протоколу, а например по HTTP, то вам срочно нужно ознакомиться с тем, что такое веб-сервисы/веб-API и какие они бывают. Если вы уже понимаете что это такое, то вам нужно выбрать способ реализации под Дотнетом.

Подскажите, это можно сделать в рамках одной службы или нет?

Если под службой понимается Windows-служба, то можно. Стоит ли - другой вопрос, зависит от тех действий, которые вы хотите выполнять в фоне, архитектуры БД и политики работы с ней.
Ответ написан
Комментировать
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
службы (services) на то и службы, чтобы служить)
конечно все в одном "флаконе" можно сделать.
служба - это тот же процесс, только контролируемый ОС согласно флагам в реестре.
https://msdn.microsoft.com/ru-ru/library/zt39148a%...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы