Programaticamente adicionando um endpoint

Eu tenho um serviço WCF que estou conectando no aplicativo cliente. Eu estou usando o seguinte no arquivo de configuração.

<system.serviceModel>  
    <bindings>  
      <basicHttpBinding>  
        <binding name="MyNameSpace.TestService" closeTimeout="00:01:00" openTimeout="00:01:00"  
            receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false"  
            bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"  
            maxBufferSize="2147483647" maxBufferPoolSize="524288" maxReceivedMessageSize="2147483647"  
            messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"  
            useDefaultWebProxy="true">  
          <readerQuotas maxDepth="32" maxStringContentLength="2147483647" maxArrayLength="16384"  
              maxBytesPerRead="4096" maxNameTableCharCount="16384" />  
          <security mode="None">  
            <transport clientCredentialType="None" proxyCredentialType="None"  
                realm="" />  
            <message clientCredentialType="UserName" algorithmSuite="Default" />  
          </security>  
        </binding>  
      </basicHttpBinding>  
    </bindings>  
    <client>  
      <endpoint address="http://localhost:9100/TestService" binding="basicHttpBinding"  
          bindingConfiguration="MyNameSpace.TestService" contract="TestService.IService" name="MyNameSpace.TestService" />  
    </client>  
</system.serviceModel>  

No código, estou chamando API neste serviço da seguinte maneira,

TestServiceClient client = new TestServiceClient()
client.BlahBlah()

Agora quero definir o ponto final porgramaticamente. Como isso pode ser feito? Eu comentei a seção do arquivo de configuração como eu estava pensando que eu teria que colocar algum código na instância de TestServiceClient para adicionar ponto de extremidade dinamicamente mas, em seguida, ele lança exceção seguinte no ponto onde TestServiceClient é instanciado.

Não foi possível localizar o elemento de terminal padrão que faz referência ao contrato 'TestService.IService' na seção de configuração do cliente ServiceModel. Isso pode ter ocorrido porque nenhum arquivo de configuração foi localizado para seu aplicativo ou porque nenhum elemento de terminal correspondente a esse contrato pôde ser localizado no elemento do cliente.

Como posso fazer isso? Além disso, qualquer ponto nos exemplos de código para adicionar ponto final programaticamente será apreciado.

questionAnswers(3)

yourAnswerToTheQuestion