title: Could not find a base address that matches scheme net.tcp
body: <p>I have moved my file transfer service from basicHttpBinding to netTcpBinding
  as I am trying to set up a duplex mode channel. I have also started my net.tcp 
  port sharing service.</p>
  
  <p>I am currently in dev and am self hosting on an xp box until we move the 
  app to a dev server. so, for now, I do not have access to IIS.  </p>
  
  <p>After configuring my service as such:</p>
  
  <pre><code>&lt;service behaviorConfiguration="transferServiceBehavior" name="API.FileTransfer.FileTransferService"&gt;
          &lt;endpoint name="MyFileTransferEP"
                    address  = ""
                    binding  = "netTcpBinding"
                    bindingConfiguration="MyFileTransferNetTcpEP"
                    behaviorConfiguration="NetTcpEPBehavior"
                    contract="API.FileTransfer.IFileTransferService" /&gt;
          &lt;endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/&gt;
          &lt;host&gt;
            &lt;baseAddresses&gt;
              &lt;add baseAddress="net.tcp://localhost:8001/project/filetransfer.svc" /&gt;
            &lt;/baseAddresses&gt;
          &lt;/host&gt;
  &lt;/service&gt;
  </code></pre>
  
  <p>And, my binding as such:</p>
  
  <pre><code>&lt;netTcpBinding&gt;
          &lt;binding name="MyFileTransferNetTcpEP"
                   hostNameComparisonMode="StrongWildcard"
                   closeTimeout="00:01:00"
                   openTimeout="00:01:00" 
                   receiveTimeout="00:10:00" 
                   sendTimeout="00:01:00"
                   maxReceivedMessageSize="2147483647"
                   transferMode="Streamed"
                   portSharingEnabled="true"&gt;
            &lt;security mode="None"&gt;
              &lt;transport clientCredentialType="None" /&gt;
              &lt;message clientCredentialType="None" /&gt;
            &lt;/security&gt;
          &lt;/binding&gt;
  &lt;/netTcpBinding&gt;
  </code></pre>
  
  <p>I get the folloing error when I right and browser to the SVC file: </p>
  
  <blockquote>
    <p>Could not find a base address that
    matches scheme net.tcp for the
    endpoint with binding NetTcpBinding.
    Registered base address schemes are
    [http].</p>
  </blockquote>
  
  <p>The reading online suggests that, in order to fix this problem, i 
  needed to add the net.tcp binding to the binding of the application 
  in IIS. But, what do I do if I am self hosting and do not have access to 
  IIS?? By the way, if you are reading this and "do" have IIS, do the following:
  Right click the virtual directory/application in IIS -> Manage application -> 
  Advanced settings. And, in the Enabled Protocols part, add net.tcp. </p>
  
  <p>Any ideas? </p>
  
  <hr>
  
  <p>UPDATE: I thought I had it working but it's still not working. Here is what I have now: 
  I am still getting the "could not find base address that matches scheme net.tcp" error. 
  I have changed all my base addresses to reflect your suggestion. Here is what I have now:</p>
  
  <pre><code>&lt;service behaviorConfiguration="transferServiceBehavior" name="API.FileTransfer.FileTransferService"&gt;
              &lt;endpoint name="MyJSONFileTransferEP"
                        address="json"
                        binding="webHttpBinding"
                        bindingConfiguration="jsonWeb"
                        behaviorConfiguration="WebHttpEPBehavior"
                        contract="API.FileTransfer.IJSONFileTransferService" /&gt;
              &lt;endpoint name="MyPOXFileTransferEP"
                        address="pox"
                        behaviorConfiguration="WebHttpEPBehavior"
                        binding="webHttpBinding"
                        bindingConfiguration="poxWeb"
                        contract="API.FileTransfer.IPOXFileTransferService" /&gt;
              &lt;endpoint name="MySOAPFileTransferEP"
                        address="filetransfer"
                        binding="netTcpBinding"
                        bindingConfiguration="netTcpWeb"
                        behaviorConfiguration="NetTcpEPBehavior"
                        contract="API.FileTransfer.ISOAPFileTransferService" /&gt;
              &lt;endpoint address="mex" binding="mexTcpBinding" contract="IMetadataExchange"/&gt;
              &lt;host&gt;
                &lt;baseAddresses&gt;
                  &lt;add baseAddress="net.tcp://localhost:2544/filetransfer/" /&gt;
                &lt;/baseAddresses&gt;
              &lt;/host&gt;
            &lt;/service&gt;
  </code></pre>
  
  <p>I have tried this with both "net.tcp://localhost:2544" &amp; "net.tcp://localhost:8001". 
  Do I need to add (allow) something in my firewall settings? Any other suggestions? </p>
  
  <p>Here is my filetransferservice's mexTcpBinding in my App.config file:</p>
  
  <pre><code>&lt;endpoint address="net.tcp://localhost:2544/filetransfer/mex"
          binding="mexTcpBinding" bindingConfiguration="" contract="IMetadataExchange"
          name="filetransfermex"&gt;
          &lt;identity&gt;
            &lt;certificateReference storeName="My" storeLocation="LocalMachine"
              x509FindType="FindBySubjectDistinguishedName" /&gt;
          &lt;/identity&gt;
        &lt;/endpoint&gt;
  </code></pre>
  
  <p>I am still unable to reference my FileTransferServiceClient in my web app. </p>
  
  <p>Thanks again.  </p>