2009-04-01 19 views
1

Je suis en train de suivre un cours de Capstone et de faire mon projet en C# alors que tout le monde fait le leur en Java. Le projet dispose de 4 services et nécessite un serveur de noms qui mappe les noms de service aux sockets. L'instructeur suggère que les étudiants utilisent RMI pour construire ce registre. Comme je ne suis pas très familier avec Java, et que l'instructeur n'est pas très familier avec .NET, nous n'avons pas réussi à trouver un équivalent en C#. Quelqu'un est-il au courant d'un?Résolution de l'hôte du service - C# Équivalent du registre RMI?

Mise à jour:

Je cherche un moyen de découvrir un service WCF sans connaître explicitement son support.

Mise à jour 2:

Je serai demoing le projet sur mon ordinateur portable en utilisant XP VS 2008/WebDev serveur.

Répondre

1

RMI Registery en Java fonctionne comme un conteneur où vous pouvez rechercher des services par une clé. Ce mécanisme est similaire à la résolution de services/objets via ServiceLocator (par exemple, modèle ServiceLocator) où vous utilisez un moteur d'injection de dépendances, et lui demande de résoudre une instance du service (par exemple un nom connu, par interface, etc.):

IMyService service = ServiceLocator.Resolve<IMyService>(); 

ou

IMyService service = (IMyService)ServiceLocator.Resolve(typeof(IMyservice)); 

WCF ne fonctionne que dans un seul service par rapport à la mode hôte de service unique, ce qui signifie chaque service unique nécessite un hôte de service distinct. Vous pouvez écrire un conteneur de service qui agrège les hôtes du service, ouvre le port et les enregistre dans le conteneur DI, et plus tard, il vous suffit de demander une instance du service comme indiqué ci-dessus.

2

Vous pouvez utiliser le serveur UDDI fourni avec Windows Server 2K3/8. Cela vous permettra de découvrir vos services. A part ça, vous auriez besoin d'un paquet de tiers ou rouler le vôtre.

+0

Je vais présenter sur mon ordinateur portable XP en utilisant le serveur VS 2008/WebDev, donc je ne pense pas que ce soit une option pour utiliser UDDI. Pas vraiment sûr de comment rouler le mien sans coder en dur certaines variables de configuration puis en lisant celles du serveur de noms (10% seront ancrés). Des conseils sur la façon de le faire? – Aaron

+0

vous pouvez l'installer sur un système d'exploitation virtuel – abatishchev