¿Cómo cambiar la ubicación (URL) de un servicio web y actualizar la referencia web programáticamente?

Tengo servicio web:

http://127.0.0.1/something/someWS.asmx

Estoy agregando esto como referencia web a mi aplicación, pero no siempre será Localhost ... podría cambiar ahttp://www.something.com/something/someWS.asmx.

¿Cómo cambio la URL programáticamente de mi referencia web? es tan simple como:

using (var service = new MyApi.MyApi())
{
    //txtUrl is the site
    service.Url = "http://" + txtUrl + "something/someWS.asmx";
}

TAMBIÉN, una vez que lo cambie, ¿cómo lo actualizo programáticamente? (equivalente a hacer clic con el botón derecho y seleccionar "Actualizar referencia web")

nota lateral: lo que estoy tratando de lograr en última instancia es la lista desplegable de los métodos disponibles basados ​​en el servicio web asmx disponible en el servidor (service.Url)

Respuestas a la pregunta(1)

Su respuesta a la pregunta