The advantage of using WCF is that if you want to open the service on a network or in the outside world, you can simply change / add some additional configurations without any changes in the code.
So, in your scenario, the presence of both the client and the server on the same machine or inside the network is absolutely normal, and the simple way is to have 2 endpoints that deal with your requirements on the same service.
You can manage with one endpoint, but using different endpoints with a different binding mechanism reduces your overhead during authentication. Example: when you are on the same machine, you can use the network: pipe or net: tcp binding When you are in a domain, you can use net: tcp or httpbinding.
Performance is different when using different bindings.
Rajesh
source share