Je teste les pas de fonctionnalités de configuration de WCF 4.WCF 4 et NetTcpBinding
J'ai construit un service simple et déployé à IIS. Le service est déployé en tant que fichier svc
La configuration client est vide:
<configuration>
<system.serviceModel>
<bindings />
<client />
</system.serviceModel>
</configuration>
La configuration sur le serveur Web est:
<system.web>
<compilation debug="true" targetFramework="4.0" />
</system.web>
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior>
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
</system.serviceModel>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
Ce code fonctionne très bien:
BasicHttpBinding myBinding = new BasicHttpBinding();
EndpointAddress myEndpoint = new EndpointAddress("http://localhost/Service1.svc");
ChannelFactory<IService1> myChannelFactory = new ChannelFactory<IService1>(myBinding, myEndpoint);
IService1 wcfClient1 = myChannelFactory.CreateChannel();
int z = wcfClient1.Multiply(composite);
Ce code ne comprend pas:
NetTcpBinding myBinding = new NetTcpBinding();
EndpointAddress myEndpoint = new EndpointAddress("net.tcp://localhost:808/Service1.svc");
ChannelFactory<IService1> myChannelFactory = new ChannelFactory<IService1>(myBinding, myEndpoint);
IService1 wcfClient1 = myChannelFactory.CreateChannel();
int z = wcfClient1.Multiply(composite);
L'erreur que je reçois est:
Impossible de se connecter à net.tcp: //localhost/Service1.svc. La tentative de connexion a duré pendant un temps durée de 00: 00: 02.1041204. Erreur TCP code 10061: Aucune connexion n'a pu être établie à car la machine cible l'a refusée activement 127.0.0.1:808.
La liaison net.tcp est définie sur le site Web par défaut. J'ai le sentiment qu'il y a quelque chose de simple qui me manque. Quelqu'un a des idées?
Vous pouvez également faire un clic droit sur IIS> Site Web par défaut et cliquer sur Paramètres avancés. Vous verrez la dernière option "Protocoles activés" et vous pouvez y ajouter net.tcp. – Donny