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).
Réponses
Trop de publicités?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)
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.