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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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
The configuration is read only.
Quelqu'un aurait-il une solution à me proposer ???

Merci d'avance