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

Я создал службу wcf и клиент. и служба wcf, и клиент реализованы с использованием С#. Я разместил эту службу wcf как в службах iis, так и в службах Windows. пока я размещаю его, мне нужно указать базовый адрес либо в файле web.config, либо во время разработки. можно ли указать базовый адрес во время выполнения. как обеспечить его во время выполнения?

вот так я могу изменить адрес ссылки на службу на стороне клиента. как это сделать на с#?


person Gomathipriya    schedule 03.12.2013    source источник
comment
почему ты хочешь сделать это?   -  person Pantelis Natsiavas    schedule 03.12.2013


Ответы (1)


Если вы используете самостоятельный хостинг, вы можете указать базовый адрес в конструкторе класса ServiceHost:

Uri baseAddress = new Uri("http://........");
ServiceHost host = new ServiceHost(typeof(YourServiceClass), baseAddress);

С IIS все становится немного сложнее... вы могли бы предоставить пользовательскую фабрику для создания хоста службы, но это кажется большой работой. Кроме того, в IIS виртуальный каталог, в котором находится ваш файл *.svc, действительно диктует URL-адрес вашей службы, поэтому предоставление базового адреса на самом деле не имеет большого значения.

person marc_s    schedule 03.12.2013