Может ли служба WCF обращаться к другим ServiceHosts, работающим в том же процессе?

Я хотел бы создать службу, задачей которой является наблюдение за другими службами, работающими в том же процессе, а затем сообщать основную информацию, такую ​​как состояние здоровья или зависимости служб. У меня возникли проблемы с поиском наилучшего способа для моей службы мониторинга получить доступ к подробной информации о других службах, при этом не нужно, чтобы каждая служба публиковала свои метаданные или предоставляла какую-либо пользовательскую конечную точку, с которой служба мониторинга может взаимодействовать. Если я загружаю конфигурацию и читаю ее, я могу пройти большую часть пути, но у этого подхода есть несколько недостатков:

  • Получение абсолютного URI для каждой конечной точки может быть затруднено, особенно при использовании хостинга IIS или активации без файлов.
  • Любая конфигурация, выполненная программно, не сможет быть прочитана службой мониторинга

Я хотел бы получить доступ к ServiceDescription, чтобы получить всю необходимую информацию о каждом ServiceHost, не требуя каких-либо усилий со стороны дизайнера службы, чтобы передать его мне. Возможно ли что-то подобное?

2 ответа

Решение

Если вы проверили ссылки Channs и уверены, что вам нужно развернуть свою собственную инфраструктуру мониторинга работоспособности, вам, вероятно, нужно либо извлечь из ServiceHost, либо сделать все возможное и извлечь из ServiceHostFactoryBase, либо, возможно, сделать то и другое в зависимости от того, что вам нужно реализовать. Они дадут вам доступ к ServiceDescription экземпляр для каждой службы, как это раскручивается.

Одной из альтернатив будет использование встроенных возможностей WCF для мониторинга работоспособности и мониторинга производительности. Это работает на индивидуальном уровне обслуживания, хотя.

Другие вопросы по тегам