Динамическое переключение URL-адреса ссылки на веб-службу WCF через файл конфигурации - PullRequest
46 голосов
/ 18 февраля 2011

Как вы динамически переключаете путь URL ссылки на веб-службу WCF через файл конфигурации?

Ответы [ 5 ]

79 голосов
/ 18 февраля 2011

Вы просто хотите переопределить URL-адрес, указанный в конфигурации, на другой URL-адрес.Скажем, у вас есть тестовый сервис и сервис в реальном времени.Вы можете просто сделать это.

client.Endpoint.Address = new EndpointAddress(Server.IsLiveServer() ?
    @"LiveUrl" : @"TestURl"); 

Где эти URL приходят откуда угодно

23 голосов
/ 14 июля 2011

Просто чтобы расширить ответ от Эрин: -

MyClient client = new MyService.MyClient();
client.Endpoint.Address = new EndpointAddress(new Uri("insert new url here"),
    client.Endpoint.Address.Identity, client.Endpoint.Address.Headers);
client.Open();

НТН!

3 голосов
/ 18 февраля 2011

Динамического переключения нет. Каждый раз, когда вы хотите использовать другой URL-адрес, вы должны создать новый экземпляр прокси-сервера службы (клиента) и передать EndpointAddress или имя конфигурации enpoint конструктору.

0 голосов
/ 27 августа 2018

Вы не можете изменить URL-адрес конечной точки после любого вызова.

Е.Г.

в этом случае вы получите ответ от NEWURL:

MyClient client = new MyService.MyClient();
client.Endpoint.Address = new EndpointAddress("NEWURL"); 
client.Hello(); //return is hello response from NEWURL

но если вы вызовете какой-либо метод перед изменением URL-адреса, URL-адрес будет использоваться из app.config, как показано в следующем примере:

MyClient client = new MyService.MyClient();
client.Endpoint.Address = new EndpointAddress("NEWURL"); 
client.Hello(); //return is hello response from BASEURL
0 голосов
/ 18 февраля 2011

уверен, что вы можете сделать это, посмотрите здесь: Как настроить клиентов для службы wcf?

Абсолютно нормально указывать на localhost в разработке и изменять адрес (url) в продукции в web.config

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...