2010-08-19 5 views
4

Est-il possible de modifier par programme la valeur <endpoint address="..." /> d'un service Web? Dans mon fichier app.config, j'ai le code suivant:Modifier par programme le point de terminaison d'un service Web

<system.serviceModel> 
    <bindings> 
     ... 
    </bindings> 
    <client> 
    <endpoint address="http://dev.remotedomain.com/WebServices/WebService.asmx" 
     binding="basicHttpBinding" bindingConfiguration="InboxServiceSoap" 
     contract="InboxServiceSoap" 
     name="InboxServiceSoap" /> 
    </client> 
</system.serviceModel> 

Je veux être en mesure de changer

address="http://dev.remotedomain.com/WebServices/WebService.asmx" 

à

address="http://mymachine/WebServices/WebService.asmx" 

dans le code. Est-ce possible progammatiquement dans .NET?

Répondre

4

Vous pouvez utiliser un code similaire à ce qui suit:

Dim Service en tant que nouveau XXXXXClient service.Endpoint.Address = New EndpointAddress (myurl)

+0

Cette fonctionne mais me rend suspect. Après avoir ajouté une référence de service WCF, il existe une demi-douzaine de fichiers de projet référençant l'URL du service. Je déplace ensuite le service vers une URL différente, ajoute cette ligne de code et tout fonctionne correctement. On dirait qu'il ne devrait pas compiler ??? – nuander

+0

C#: service.Endpoint.Address = new EndpointAddress (myUrl); –

+0

@nuander La compilation est bien, juste une chaîne est différente. Tant que l'URL différente est conforme au même protocole et format, aucun problème d'exécution non plus. –

Questions connexes