Are you hosting this in IIS ?? If so: IIS dictates your addresses - they're defined as
http://YourServer/YourVirtualDirectory/YourService.svc
So if you want two separate addresses, you need two separate virtual directories....
Or: self-host, then you have full freedom of addresses!
If you self-host, you could definitely define a service (implementing both service interfaces in the same implementation class) that exposes two endpoints:
<services>
<service name="YourNamespace.ServiceImplementationClass">
<host>
<baseAddresses>
<add baseAddress="http://localhost:4040/MyApp/Service1.svc" />
</baseAddresses>
</host>
<endpoint name="Service1"
address=""
binding="basicHttpBinding"
contract="YourNamespace.IService1" />
<endpoint name="Service2"
address="Service2"
binding="basicHttpBinding"
contract="YourNamespace.IService2" />
</service>
</services>
So your service 1 would be accessible at the base address defined (http://localhost:4040/MyApp/Service1.svc
), while your service 2 would be at http://localhost:4040/MyApp/Service1.svc/Service2
. Is that what you're looking for??