Служба WCF в .NET 4.0 переходит в «спящий режим», но ping возвращает его в рабочее состояние - PullRequest
0 голосов
/ 25 октября 2011

Доброе утро всем.

Я немного новичок в WCF, и мы создали новую службу WCF. Эта служба использует привязки net.msmq для передачи и получения сообщений от другой службы WCF. Это все работает БОЛЬШОЙ. Однако когда мы разворачиваем службу на наших серверах, эта новая служба WCF "засыпает". Я объясню.

Я полностью понимаю, что служба WCF не работает как служба Windows. Я имею в виду, что, как только мы пропингуем сервис, он будет работать нормально в течение нескольких минут. Он отслеживает очереди MSMQ, которые он должен, и обрабатывает сообщения так, как должен. Отправлять и получать работу просто отлично. Если во входящих данных затишье, служба просто перестает слушать. Он будет оставаться в этом состоянии до тех пор, пока мы не пропингуем сервис, перейдя по URL-адресу, предоставленному сервисом HTTP, который мы должны были установить.

Мы не создали этот сервис для RESTful, поэтому я не ожидал, что это проблема. У кого-нибудь есть идеи?

Спасибо

Джим Эванс, MCAD

1 Ответ

1 голос
/ 25 октября 2011

Если служба работает под управлением IIS, она может быть перезапущена, если к ней не обращаются запросы http. Непонятно, как осуществляется мониторинг другой службы, но без внешнего запроса IIS переведет службу в спящий режим, поэтому, возможно, измените отслеживаемую службу, чтобы она отправляла уведомление службе мониторинга.

Если вы пользуетесь службой самообслуживания WCF, то, пожалуйста, отбросьте первый абзац, служба IIS самостоятельно не влияет на IIS и не должна переходить в спящий режим, пока вы не выключите его.

...