2010-09-13 7 views
2

J'ai ici ce qui semble être une tâche simple; répertorier toutes les instances d'un objet de service activement gérées par un WCF ServiceHost à un moment donné.Liste de toutes les instances de service dans WCF

Par exemple, mon interface de contrat de service est IFooService et l'implémentation est FooService (avec un comportement par session). Côté service, j'instancie simplement l'hôte de service en utilisant ServiceHost(typeof(FooService)) et l'ouvre. Les sessions sont créées, détruites et les opérations sont appelées comme normales par les clients - et pour la plupart, le fait que cette fonctionnalité soit cachée est bon.

Cependant, mon but est d'exposer une méthode dans la classe qui déclare le ServiceHost qui liste toutes les instances actuellement actives de IFooService (ou de manière similaire FooService). Avoir la classe suivre ses propres instances est possible, mais ne semble pas trop élégant. Existe-t-il une méthode intégrée pour que WCF renvoie une liste de toutes les instances d'objet de service gérées par un ServiceHost?

Répondre

1

Je ne peux pas penser à comment obtenir les instances elles-mêmes, mais le nombre peut être obtenu à partir du instancesperformance counter.

+0

Merci. Malheureusement, j'ai besoin de plus que du nombre. Ma solution de contournement actuelle est de stocker une liste de WeakReferences pointant vers toutes les instances de la classe, semble fonctionner assez bien, peut-être pas idéal cependant. – Noldorin

Questions connexes