Это на стороне клиента вещей ??
Если это так, вам нужно создать экземпляр WsHttpBinding и EndpointAddress, а затем передать эти два в конструктор прокси-клиента, который принимает эти два в качестве параметров.
// using System.ServiceModel;
WSHttpBinding binding = new WSHttpBinding();
EndpointAddress endpoint = new EndpointAddress(new Uri("http://localhost:9000/MyService"));
MyServiceClient client = new MyServiceClient(binding, endpoint);
Если это на стороне сервера, вам нужно программно создать свой собственный экземпляр ServiceHost и добавить к нему соответствующие конечные точки службы.
ServiceHost svcHost = new ServiceHost(typeof(MyService), null);
svcHost.AddServiceEndpoint(typeof(IMyService),
new WSHttpBinding(),
"http://localhost:9000/MyService");
Конечно, у вас может быть несколько таких конечных точек сервиса, добавленных к вашему хосту сервиса. Когда вы закончите, вам нужно открыть хост службы, вызвав метод .Open ().
Если вы хотите иметь возможность динамически - во время выполнения - выбирать, какую конфигурацию использовать, вы можете определить несколько конфигураций, каждая с уникальным именем, а затем вызвать соответствующий конструктор (для хоста службы или прокси-клиента) с именем конфигурации, которое вы хотите использовать.
например. Вы могли бы легко иметь:
<endpoint address="http://mydomain/MyService.svc"
binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IASRService"
contract="ASRService.IASRService"
name="WSHttpBinding_IASRService">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
<endpoint address="https://mydomain/MyService2.svc"
binding="wsHttpBinding" bindingConfiguration="SecureHttpBinding_IASRService"
contract="ASRService.IASRService"
name="SecureWSHttpBinding_IASRService">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
<endpoint address="net.tcp://mydomain/MyService3.svc"
binding="netTcpBinding" bindingConfiguration="NetTcpBinding_IASRService"
contract="ASRService.IASRService"
name="NetTcpBinding_IASRService">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
(три разных имени, разные параметры, указав разные привязки конфигурации), а затем просто выберите правильное для создания экземпляра вашего сервера (или прокси клиента).
Но в обоих случаях - сервер и клиент - вы должны выбрать, прежде чем создавать сервисный хост или прокси-клиент. После создания они неизменны - вы не можете настроить их, как только они будут запущены.
Марк