2010-12-09 1 views
0

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

+1

Зачем вам это нужно? Вся идея состоит в том, что процесс неактивен до вызова. Что такое цикл while (true)? – Lazarus 2010-12-09 13:48:29

ответ

1

Услуги WCF предназначены для «пробуждения», когда делаются запросы.

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

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

0

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

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