If you must have two separate services - then you need two separate service implementation classes and also two separate ServiceHost
instances:
public class Service1 : IService1
{
...
}
public class Service2 : IService2
{
...
}
ServiceHost serviceHost1 = new ServiceHost(typeof(Service1));
serviceHost1.Open();
ServiceHost serviceHost2 = new ServiceHost(typeof(Service2));
serviceHost2.Open();
Endpoint config:
<service name="YourNamespace.Service1" behaviorConfiguration="myBehavior" >
<endpoint address="sa1" binding="netTcpBinding" contract="IService1" />
<host>
<baseAddresses>
<add baseAddress="net.tcp://localhost:8001/" />
</baseAddresses>
</host>
</service>
<service name="YourNamespace.Service2" behaviorConfiguration="myBehavior" >
<endpoint address="sa2" binding="netTcpBinding" contract="IService2" />
<host>
<baseAddresses>
<add baseAddress="net.tcp://localhost:8002/" />
</baseAddresses>
</host>
</service>