J'ai créé un service à l'aide de la découverte WCF. Tout fonctionne correctement lorsqu'il est déployé sur un port spécifique (en utilisant le débogage VS2010), mais lorsque j'essaie de le déployer sur IIS, il trouve le service mais ne peut exécuter aucune des méthodes.L'appel de la fonction client WCF ne fonctionne pas sur IIS
Voici le code:
DiscoveryClient discoverclient = new DiscoveryClient(new UdpDiscoveryEndpoint());
FindResponse response = discoverclient.Find(new FindCriteria(typeof(IService)));
EndpointAddress address = response.Endpoints[0].Address;
ServiceClient client = new ServiceClient(new BasicHttpBinding(), address);
Console.WriteLine(client.getMsg()); //some test function
Console.ReadKey();
Lorsque Tring pour exécuter la méthode client.getMsg()
je reçois l'erreur suivante:
EndpointNotFoundException:
There was no endpoint listening at http://computerName.domain/services/Service.svc that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details.
Mais j'ai l'adresse, ce qui signifie qu'il a trouvé. Et si j'utilise le débogueur déployeur (pas à iis) je le trouve dans http://localhost:port/services/Service.svc
et il fonctionne parfaitement bien. Comment puis-je le déployer à iis sans problèmes?
OS: win7 64 bits
fichier de configuration:
<services>
<service behaviorConfiguration="RemoteDeploy.Service1Behavior"
name="RemoteDeploy.Service">
<endpoint address="" binding="basicHttpBinding" bindingConfiguration=""
contract="RemoteDeploy.IService">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
<endpoint name="udpDiscoveryEpt" kind="udpDiscoveryEndpoint" />
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="RemoteDeploy.Service1Behavior">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false" />
<serviceDiscovery>
</serviceDiscovery>
</behavior>
</serviceBehaviors>
</behaviors>
P Peut-être que vous devez ajouter les mappages svc à IIS? (ServiceModelReg.exe -i) – sternr
Pourriez-vous s'il vous plaît poster votre fichier web.config, au moins où vous configurez vos points de terminaison. Avec les services WCF plus de fois que non, tous les problèmes sont liés à sa configuration. – AJC