2010-05-22 6 views
1

J'ai créé un service WCF hébergé dans le service Windows. J'ai créé un proxy en utilisant svcutil "svcutil.exe http://localhost:8000/ServiceModelSamples/FreeServiceWorld?wsdl"Consommation d'un service WCF

Il a généré un fichier output.config et une classe proxy.

Le output.config a l'élément suivant

<client> 
    <endpoint address="http://localhost:8000/ServiceModelSamples/FreeServiceWorld" 
     binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IWeather" 
     contract="IWeather" name="WSHttpBinding_IWeather"> 
     <identity> 
      <servicePrincipalName value="host/sdfsf.sdfs.com" /> 
     </identity> 
    </endpoint> 
</client> 

J'ai créé un site Web (en tant que client) et a ajouté un nouveau fichier C# (de MyFile.cs) en elle. J'ai copié le contenu de la classe proxy dans MyFile.cs. [Le output.config est pas copié sur le site Web]

Dans le code behnid de ASPX, je suis en utilisant le code suivant WeatherClient client = new WeatherClient ("WSHttpBinding_IWeather");

Il jette une exception « dans la section de configuration du client ServiceModel Impossible de trouver l'élément point final avec le nom « WSHttpBinding_IWeather » et contrat « iWeather ». »

Pourriez-vous s'il vous plaît me aider à comprendre le chaînon manquant ici?

Répondre

2

Vous devez ajouter les éléments dans output.config au web.config du site Web pour que le client sache où chercher le service. Si le client ne s'exécute pas sur la même machine que le service, vous devrez échanger localhost pour l'adresse IP ou le nom d'hôte de la machine qui exécute le service.

+0

pour être exact - il doit aller dans 'web.config' sous la balise' '. –

+0

Merci à vous deux ... Ça a marché. Avec l'aide de vous, enfin, j'ai créé et consommé un service WCF - de bout en bout. Vous pouvez également consulter les informations suivantes pour voir les défis auxquels j'ai été confronté: http://stackoverflow.com/questions/2887588/wcf-using-windows-service – Lijo

Questions connexes