title: WCF Service multiple endpoint configuration
body: <p>I have a WCF service:</p>
  
  <pre><code>https://myservice/service.svc
  https://myservice/service.svc?wsdl
  </code></pre>
  
  <p>Given below are the related section of my WCF Application's web.config (let me know if you need more):</p>
  
  <pre><code>&lt;bindings&gt;
   &lt;basicHttpBinding&gt;
    &lt;binding name="basicHttp"&gt;
    &lt;security mode="TransportWithMessageCredential"&gt;
      &lt;message clientCredentialType="UserName"/&gt;
    &lt;/security&gt;
    &lt;/binding&gt;
   &lt;/basicHttpBinding&gt;
  &lt;/bindings&gt;
  
  &lt;behaviors&gt;
   &lt;serviceBehaviors&gt;
    &lt;behavior name="MyService.ServiceBehavior"&gt;
    &lt;serviceMetadata httpsGetEnabled="true"/&gt;
    &lt;serviceDebug includeExceptionDetailInFaults="true"/&gt;
    &lt;serviceCredentials&gt;
      &lt;userNameAuthentication userNamePasswordValidationMode="MembershipProvider" membershipProviderName="SqlMembershipProvider"/&gt;
    &lt;/serviceCredentials&gt;
    &lt;serviceThrottling maxConcurrentCalls="100" maxConcurrentInstances="100" maxConcurrentSessions="100"&gt;&lt;/serviceThrottling&gt;
    &lt;/behavior&gt;
   &lt;/serviceBehaviors&gt;
  &lt;/behaviors&gt;
  
  &lt;services&gt;
   &lt;service behaviorConfiguration="MyService.ServiceBehavior" name="MyService.Service"&gt;
    &lt;endpoint address="/ClientA" binding="basicHttpBinding" bindingConfiguration="basicHttp" name="basicHttpEndpoint" contract="MyService.IService"&gt;&lt;/endpoint&gt;
    &lt;endpoint address="/ClientB" binding="basicHttpBinding" bindingConfiguration="basicHttp" name="basicHttpEndpoint" contract="MyService.IService"&gt;&lt;/endpoint&gt;
    &lt;endpoint address="/ClientC" binding="basicHttpBinding" bindingConfiguration="basicHttp" name="basicHttpEndpoint" contract="MyService.IService"&gt;&lt;/endpoint&gt;
    &lt;endpoint address="mex" binding="mexHttpsBinding" contract="IMetadataExchange"/&gt;
   &lt;/service&gt;
  &lt;/services&gt;
  </code></pre>
  
  <p>I want my clients be able to access the service through the following links, but the links don't work: (or may be my syntax is wrong for the links below, let me know if that is the case)</p>
  
  <pre><code>https://myservice/service.svc/ClientA
  https://myservice/service.svc/ClientB
  https://myservice/service.svc/ClientC
  </code></pre>
  
  <p>following links work, but i don't think this is due to my configuration, as if i write anything after the last forward slash it still works ....</p>
  
  <pre><code>https://myservice/service.svc?wsdl/ClientA
  https://myservice/service.svc?wsdl/ClientB
  https://myservice/service.svc?wsdl/ClientC
  
  https://myservice/service.svc?wsdl/asfgvafgfgf ... (this works too !!!)
  </code></pre>
  
  <p>Please let me know how to achieve this. I don't want to create separate service for all clients.</p>
  
  <p>if this works, i want to use different contract="MyService.IService" in the endpoint definition for all clients, as the methods for each clients exposed in service would differ.</p>
  
  <p>i also want to ask, would i be able to specify which connection string to use, depending on via which endpoint client is accessing the service? </p>
  
  <p>And lastly: I Dont want:</p>
  
  <pre><code>https://myservice/service.svc
  https://myservice/service.svc?wsdl
  </code></pre>
  
  <p>links to be accessible, i want the clients to use only their specified links ...</p>
  
  <p>is that at all possible, or should i create separate services for each client ... ?</p>
  
  <p>Thanks.</p>