J'ai converti une application VB .Net 3.5 pour utiliser le peer-to-peer WCF en utilisant l'exemple Microsoft disponible de l'application Chat. Je me suis assuré que j'ai copié le fichier app.config pour l'échantillon (modifié les noms pour mon application), ajouté les références appropriées. J'ai suivi tous les tutoriels et ajouté les tags et la structure appropriés dans mon code d'application. Tout fonctionne sans erreur, mais les clients reçoivent uniquement des messages d'eux-mêmes et non des autres clients. L'exemple d'application de chat fonctionne parfaitement avec plusieurs clients. La seule différence que je pourrais trouver est que le serveur sur l'échantillon cible le framework 2.0, mais je suppose que c'est faux et qu'il le construit dans au moins 3.0 ou que la référence System.ServiceModel serait cassée. Y at-il quelque chose qui doit être enregistré que l'échantillon est en train de faire dans les coulisses ou l'échantillon est-il un type de projet spécial? Je suis confus. Ma prochaine étape consiste à copier toutes mes classes et la logique de mon application à l'exemple d'application, mais c'est probablement beaucoup de travail.
Voici mon client App.config:L'application WCF utilisant l'application Peer Chat comme exemple ne fonctionne pas
<client><endpoint name="thldmEndPoint"
address="net.p2p://thldmMesh/thldmServer"
binding="netPeerTcpBinding"
bindingConfiguration="PeerTcpConfig"
contract="THLDM_Client.IGameService"></endpoint></client>
<bindings><netPeerTcpBinding>
<binding name="PeerTcpConfig" port="0">
<security mode="None"></security>
<resolver mode="Custom">
<custom address="net.tcp://localhost/thldmServer" binding="netTcpBinding"
bindingConfiguration="TcpConfig"></custom>
</resolver>
</binding></netPeerTcpBinding>
<netTcpBinding>
<binding name="TcpConfig">
<security mode="None"></security>
</binding>
</netTcpBinding>
</bindings>
Voici mon serveur App.config:
<services>
<service name="System.ServiceModel.PeerResolvers.CustomPeerResolverService">
<host>
<baseAddresses>
<add baseAddress="net.tcp://localhost/thldmServer"/>
</baseAddresses>
</host>
<endpoint address="net.tcp://localhost/thldmServer"
binding="netTcpBinding"
bindingConfiguration="TcpConfig"
contract="System.ServiceModel.PeerResolvers.IPeerResolverContract">
</endpoint>
</service>
</services>
<bindings>
<netTcpBinding>
<binding name="TcpConfig">
<security mode="None"></security>
</binding>
</netTcpBinding>
</bindings>
Merci à l'avance.
http://asp-net-csharp-vb.blogspot.com/2009/09/wcf-chat-sample.html – Micle