J'ai été chargé de créer un ensemble de services Web. Nous sommes un magasin Microsoft, donc je vais utiliser WCF pour ce projet. Il y a une considération de conception intéressante que je n'ai pas été en mesure de trouver une solution pour l'instant. Je vais essayer de l'expliquer avec un exemple:Besoin d'aide avec la conception WCF
Mon service WCF expose une méthode nommée Foo().
10 utilisateurs différents appellent Foo() à peu près en même temps.
J'ai 5 ressources spéciales appelées R1, R2, R3, R4 et R5. Nous n'avons pas vraiment besoin de savoir ce qu'est la ressource, à part le fait qu'une ressource particulière ne peut être utilisée que par un appelant à la fois. Foo() est responsable de l'exécution d'une action à l'aide de l'une de ces ressources spéciales. Donc, de manière circulaire, Foo() doit trouver une ressource qui n'est pas utilisée. Si aucune ressource n'est disponible, il doit attendre que l'un soit libéré. Dans un premier temps, cela semble être une tâche facile. Je pourrais peut-être créer un singleton qui garde la trace des ressources actuellement utilisées. Le gros problème est le fait que j'ai besoin de cette solution pour être viable dans un scénario de ferme web.
Je suis sûr qu'il existe une bonne solution à ce problème, mais je n'ai jamais rencontré ce scénario auparavant. J'ai besoin d'un outil de suivi/fournisseur de ressources qui peut être partagé entre plusieurs hôtes WCF.
Toutes les idées des architectes seraient grandement appréciées!