var tcpBaseAddress = new Uri("net.tcp://localhost:8001/");
var httpBaseAddress = new Uri("http://localhost:8002/");
using(var host = new ServiceHost(typeof(MyService), tcpBaseAddress, httpBaseAddress))
{
// ...
}
<system.serviceModel>
<services>
<service name="MyNamespace.MyService">
<host>
<baseAddresses>
<add baseAddress="net.tcp://localhost:8001/" />
<add baseAddress="http://localhost:8002/" />
</baseAddresses>
</host>
<!-- ... -->
</service>
</system.serviceModel>
Reserve Port for a specific user, such that the service doesn't need admin rights
netsh http add urlacl url="http://+:8001/" user="DOMAIN\User"