Modifier les endpoints dans le fichier app.config dynamiquement
Bonjour à tous,
Cela fait 3 jours que je bloque sur un problème qui est en train de me rendre dingue ! J'ai besoin de modifier l'adresse d'un endpoint dynamiquement.
Tout d'abord je récupère ma section client avec :
Code:
1 2 3 4
| Configuration config = ConfigurationManager.OpenExeConfiguration
(ConfigurationUserLevel.None);
ClientSection clientSettings = ConfigurationManager.GetSection("system.serviceModel/client") as ClientSection; |
Ensuite pour modifier un endoint je fais :
Code:
1 2 3 4 5 6
| serviceClient client = new serviceClient();
var endpointAddress = client.Endpoint.Address; EndpointAddressBuilder newEndpointAddress = new EndpointAddressBuilder(endpointAddress);
newEndpointAddress.Uri = new Uri("net.tcp://serverName:8000/SomeServiceName/");
client = new serviceClient(nomDuEndpoint, newEndpointAddress.ToEndpointAddress());
ConfigurationManager.RefreshSection("system.serviceModel/client");
config.Save(ConfigurationSaveMode.Modified, true); |
Mais rien n'y fais ça ne marche pas. il n'y a pas d'erreur mais le fichier app.config ne se modifie pas. J'ai essayé de faire directement endpoint.Adresse = new Uri("..........."); mais là j'ai une erreur disant
Citation:
The configuration is read only.
Quelqu'un aurait-il une solution à me proposer ???
Merci d'avance