<p>We have a service that has some settings that are supported only over net.tcp. What's the best way to add another endpoint? Do I need to create an entire new host?</p>

[{'answer_id': 46314, 'author': 'Mark Cidade', 'author_id': 1659, 'author_profile': 'https://Stackoverflow.com/users/1659', 'pm_score': 4, 'selected': True, 'text': '<p>A service may have multiple endpoints within a single host, but every endpoint must have a unique combination of address, binding and contract. For an IIS-hosted service (that is, an .SVC file), just set the address of the endpoint to a <strong>relative</strong> URI and make sure that your Visual Studio or wsdl.exe generated client specifies the endpoint\'s name in its constructor.</p>\n\n<p>See also the MSDN article <em><a href="http://msdn.microsoft.com/en-us/library/ms751515.aspx" rel="nofollow noreferrer">Multiple Endpoints</a></em>.</p>\n'}, {'answer_id': 49436, 'author': 'Bermo', 'author_id': 5110, 'author_profile': 'https://Stackoverflow.com/users/5110', 'pm_score': 0, 'selected': False, 'text': "<p>You will need to create an entire new host if you are currently using IIS as your host - IIS only supports HTTP and not TCP bindings.  If however you are using WAS or a windows service, then you'll be able to get away with simply creating a new net.tcp endpoint.</p>\n"}, {'answer_id': 50740, 'author': 'Dylan', 'author_id': 4580, 'author_profile': 'https://Stackoverflow.com/users/4580', 'pm_score': 3, 'selected': False, 'text': '<p>You can have multiple endpoints defined either on the server, or the client.</p>\n\n<p>To do it on the client, you just need to edit your app.config file with a new endpoint with a different name, then define when you create your new client.</p>\n\n<p>For example if you have an endpoint in your client app like:</p>\n\n<pre><code>&lt;endpoint address="https://yourdomain.com/WCF/YourService.svc"\n      binding="basicHttpBinding"\n      bindingConfiguration="BasicHttpBinding_IYourService"\n      contract="MessagingService.IYourService"  \n      name="BasicHttpBinding_IYourService" /&gt;\n</code></pre>\n\n<p>Which you call by:</p>\n\n<pre><code>YourServiceClient client = new YourServiceClient();\n</code></pre>\n\n<p>You can add a new endpoint with a new name:</p>\n\n<pre><code>&lt;endpoint address="https://yourotherdomain.com/WCF/YourService.svc"\n      binding="basicHttpBinding"\n      bindingConfiguration="BasicHttpBinding_IYourService"\n      contract="MessagingService.IYourService"  \n      name="BasicHttpBinding_IYourService_ENDPOINT2" /&gt;\n</code></pre>\n\n<p>Which you can call with:</p>\n\n<pre><code>YourServiceClient client = new YourServiceClient("BasicHttpBinding_IYourService_ENDPOINT2");\n</code></pre>\n\n<p>I just changed the domain above, but if you made a new binding configuration section, you could just change the "bindingConfiguration" value.</p>\n'}, {'answer_id': 53812740, 'author': 'Vinoth', 'author_id': 5052899, 'author_profile': 'https://Stackoverflow.com/users/5052899', 'pm_score': 0, 'selected': False, 'text': '<p>We can use multiple endpoints for the same service. We can configure the web config in the following way also </p>\n\n<pre><code> &lt;service name="MessagePatternDemo.Service1"&gt;  \n &lt;endpoint name="ep1" address="/ep1" binding="basicHttpBinding" \n   contract="MessagePatternDemo.IService1"/&gt;  \n &lt;endpoint name="ep2" address="/ep2" binding="wsHttpBinding"  \n   contract="MessagePatternDemo.IService1" /&gt;  \n &lt;endpoint name="mex" contract="IMetadataExchange" address="mex"  \n   binding="mexHttpBinding" /&gt;  \n &lt;/service&gt;   \n</code></pre>\n'}]
['https://Stackoverflow.com/questions/46283', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/781/']