3 votes

Comment faire de l'hébergement WCF dans une application console ?

Comment puis-je héberger ma bibliothèque de classes WCF dans une application console ? J'ai un service WCF dans une bibliothèque des classes et je voulais tester le service en dehors de mon projet avec une application de test (je dois le faire en dehors du projet).

2voto

marc_s Points 321990

Créez une application console simple, ajoutez une référence à l'assemblage de votre service WCF, puis écrivez ces quelques lignes :

   static void Main(string[] args)
    {
        using (ServiceHost host = new ServiceHost(typeof(Namespace.YourWCFService)))
        {
            host.Open();

            Console.WriteLine("Service host running......");

            foreach (ServiceEndpoint sep in host.Description.Endpoints)
            {
                Console.WriteLine("  endpoint {0} ({1})", 
                                  sep.Address, sep.Binding.Name);
            }

            Console.ReadLine();

            host.Close();
        }
    }

Tout ce que vous faites, c'est d'instaurer un ServiceHost et lui passe le type d'une classe de service (implémentation), puis appelle essentiellement .Open() sur elle.

El Console.ReadLine() il suffit d'attendre que quelqu'un appuie sur la touche ENTRÉE et que l'hôte de service se termine.

C'est tout ce qu'il y a ! (bien sûr, vous devez spécifier l'adresse du service et les liaisons dans un app.config pour l'application console hôte du service pour que cela fonctionne)

0voto

Anton Setiawan Points 555

Vous pouvez créer ServiceHost dans votre application console avec votre contrat de service existant (de votre bibliothèque de classes). Après l'exécution du service, votre projet de test peut accéder à votre service WCF comme d'habitude.

0voto

Ray Vernagus Points 4276

Envisagez d'utiliser l'application WCF Service Host : http://msdn.microsoft.com/en-us/library/bb552363.aspx

Vous pouvez simplement indiquer à l'hôte la bibliothèque de classes de votre service et le fichier de configuration et il hébergera votre service pour vous.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X