У меня есть то, что кажется простой задачей; перечисление всех экземпляров объекта службы, активно управляемых WCF ServiceHost
в любой конкретный момент времени.
Например, мой интерфейс контракта на обслуживание - IFooService
, а реализация - FooService
(с поведением для сеанса). На стороне службы я просто создаю экземпляр узла службы с помощью ServiceHost(typeof(FooService))
и открываю его. Сессии создаются, уничтожаются и операции, вызываемые клиентами как обычные, и по большей части тот факт, что эта функция скрыта, является хорошим.
Однако моя цель - показать в классе метод, который объявляет ServiceHost
, в котором перечислены все активные в данный момент экземпляры IFooService
(или аналогично FooService
). Отслеживание класса его собственных экземпляров возможно, но не кажется слишком элегантным. Есть ли какой-либо встроенный метод для WCF, чтобы возвращать список всех экземпляров сервисных объектов, управляемых ServiceHost
?