Приложение службы WCF остается бездействующим до тех пор, пока не будет нажат вручную файл .svc - PullRequest
0 голосов
/ 09 декабря 2010

Я создаю приложение службы WCF, которое работает в IIS 7.0. При его инициализации я запускаю бесконечный цикл (while (true)), но через некоторое время, когда я не вызвал метод из его файла svc, wcf проходит в режиме ожидания, и он не реагирует процесс, который должен сделать цикл. Это как будто перестает работать. И затем, если я вызываю метод для его файла SVC, то снова начинает работать. Есть ли решение, чтобы избежать режима ожидания, чтобы он мог продолжать поддерживать процедуру в цикле?

Ответы [ 2 ]

1 голос
/ 09 декабря 2010

Службы WCF предназначены для «пробуждения» при выполнении запросов.

Если вам нужно что-то вроде непрерывного опроса, вы можете вместо этого создать Службу Windows .

Если вы ищете службу WCF, которая поддерживает состояние, вам придется реализовать это самостоятельно.Одним из способов является развертывание службы Workflow (с использованием WF 4) с постоянством, например SqlWorkflowInstanceStore.Он выставляет свой интерфейс, используя WCF.Служба будет бездействовать между вызовами, но экземпляры будут помнить состояние.

0 голосов
/ 19 ноября 2011

WCF предназначен для использования и запуска событий, а не для размещения длительных процессов. Вы действительно хотите, чтобы WF (основа рабочего процесса) или BizTalk принимали некоторые длительные события. События WCF обычно недолговечны. Вы можете создать XAMLX, который объединяет две концепции.

...