2012-03-14 4 views
0

Я новичок в WCF и нужна помощь с архитектурой для решения этой задачи:WCF, FileSystemWatcher и архитектура

Я хочу создать службу WCF, на котором размещается FileSystemWatcher. Эта служба должна следить за серией папок на машине и когда файл помещается в папку или переименовывается. Мне нужна эта служба WCF для публикации «события».

Другая служба WCF должна затем «Подписаться» на это событие и выполнить некоторую обработку.

Основная идея заключается в том, что существует одна служба для мониторинга предопределенного набора каталогов, в то время как соответствующая служба получает уведомление о наличии файлов для обработки.

Итак, мои вопросы: - 1. Что касается службы WCF FileSystemWatcher, я хочу разместить ее в AppFabric, но я точно не знаю, как это будет работать. И.Е. Когда эта служба развертывается на сервере, я хочу, чтобы соответствующий объект FileSystemWatcher вызывался и оставался включенным и контролировал папки на неопределенный срок. Может ли WCF сделать это таким образом или это лучший кандидат на службу Windows. 2. Может ли одна служба WCF публиковать события и другую службу WCF подписываться на эти события и как? Все службы WCF размещены внутри AppFabric?

ответ

1
  1. WCF - это среда связи, которая может использоваться для раскрытия или потребления услуг SOAP/REST. Служба Windows - один из способов размещения таких приложений. WAS/IIS и самостоятельный хостинг - это другие методы. Служба Windows предоставляет больший контроль за запуском/завершением работы службы, что, по-видимому, имеет отношение к вашему сценарию. Windows Server AppFabric улучшает некоторые из элементов управления жизненным циклом приложений, размещенных в WAS/IIS, но по-прежнему представляет собой принципиально иной выбор хостинга для службы Windows.

  2. Насколько я знаю, WCF не имеет встроенной возможности публикации событий (я полагаю, вы имеете в виду шаблон публикации/подписки). Однако вы можете реализовать такой шаблон с использованием дуплексных каналов WCF. Нет никаких ограничений на приложение, одновременно действующее как «сервер» и «клиент».

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