J'ai suivi Miguel Castro excellent article sur la WCF ici et ça fonctionne bien, sauf que j'ai le code suivant
public AdminClient()
{
ChannelFactory<IProductAdmin> factory = new ChannelFactory<IProductAdmin>();
productAdminChannel = factory.CreateChannel();
}
Dans mon application.fichier de config, j'ai la configuration suivante:
<system.serviceModel>
<client>
<endpoint address="net.tcp://localhost:8002/ProductBrowser"
binding="netTcpBinding"
contract="Contracts.IProductAdmin" />
</client>
</system.serviceModel>
Mais, lorsque je lance le constructeur de AdminClient j'obtiens une exception en disant que le point de terminaison n'est pas défini. Cependant, si je change de configuration de donner le point de terminaison d'un nom, puis de créer l'usine comme suit, il fonctionne.
public AdminClient()
{
var fac = new ChannelFactory<IProductAdmin>("admin");
productAdminChannel = fac.CreateChannel();
}
<system.serviceModel>
<client>
<endpoint name="admin"
address="net.tcp://localhost:8002/ProductBrowser"
binding="netTcpBinding"
contract="Contracts.IProductAdmin" />
</client>
</system.serviceModel>
J'aimerais une explication pour cela. La documentation MSDN n'est pas beaucoup d'aide...