J'ai 2 contrats hébergés dans deux servlets dont j'ai besoin d'avoir un objet singleton dans le premier contrat alors quand l'autre servicehost essaie de créer un objet de cette classe, il récupère simplement le même objet le premier servicehost,Accéder à ServiceHost dans WCF à partir d'un autre Servicehost C#
ce qui pourrait signifier que je dois trouver loin pour accéder au servicehost et obtenir l'objet de lui au lieu d'en créer un nouveau .. une idée?
merci à l'avance
Utiliser un cadre d'injection Depedency comme ninject ou StructureMap pour définir une implémentation basée singleton pour une interface décrivant votre objet singleton –
je ne pense pas que mon problème est de savoir comment mettre en œuvre singleton, je l'ai déjà fait ça, la chose est de un point de terminaison (servicehost) son processus totalement différent qui signifie que lorsque l'autre point de terminaison essaye de créer un nouvel objet, il trouvera toujours aucun objet car le premier objet est créé dans un processus différent (servicehost) c'est pourquoi je pense accéder à un hôte de service depuis un autre hôte de service – Stacker
Si vous avez une interface 'IMySingleton' et utilisez un conteneur DI et que vous le définissez comme singleton, les deux instances de votre hôte de service peuvent simplement demander à une classe implémentant cette interface le conteneur DI, et le conteneur DI garantirait que les deux obtiennent la même instance (l'instance singleton) –