Url dinámicas al llamar servicios sharepoint

Cuando hacemos la referencia de los servicios de sharepoint su dirección queda registrada en web config y podemos modificar hay, sin embargo puede que subamos archivos o realicemos cambios a diferentes sitios así que es mejor cambiar la ruta del sitio en el código lo haremos así:

para el servicio de Copy por ejemplo:

CopySoapClient client = new CopySoapClient();
client.Endpoint.Address = new 
System.ServiceModel.EndpointAddress("http://MisitioSharepoint/_vti_bin/Copy.asmx");
client.Endpoint.Contract.Name = "ws.App.SharePointDocuments.CopySoap";
client.Endpoint.Binding.Name = "basicHttpBinding";
client.Endpoint.Contract.ConfigurationName = "CopySoap";//nombre de la referencia como queda en el webconfig


Y este seria para el servicio de ListSoap:

ListsSoapClient client = new ListsSoapClient();
client.Endpoint.Address = new 
System.ServiceModel.EndpointAddress("http://MisitioSharepoint/_vti_bin/Lists.asmx");
client.Endpoint.Contract.Name = "ws.App.SharePointListWebReference.ListsSoap";
client.Endpoint.Binding.Name = "basicHttpBinding";
client.Endpoint.Contract.ConfigurationName = "ListsSoap"; //nombre de la referencia como queda en el webconfig