В основном вам нужно сделать две вещи:
изменить конфигурацию на стороне сервера, включив в нее конечную точку с netTcpBinding (это может быть в дополнение к существующей конечной точке wsHttpBinding - нет проблем)
также добавьте netTcpBinding в файл конфигурации вашего клиента и выберите эту конечную точку при подключении
У вас должно быть что-то подобное в конфигурации вашего сервера:
<services>
<service name="YourService">
<endpoint name="something"
address=""
binding="wsHttpBinding"
contract="IYourService" />
</service>
</services>
Просто добавьте конечную точку для netTcpBinding:
<services>
<service name="YourService">
<endpoint name="something"
address=""
binding="wsHttpBinding"
contract="IYourService" />
<endpoint name="something"
address="net.tcp://YourServer:7171/YourService"
binding="netTcpBinding"
contract="IYourService" />
</service>
</services>
Теперь, если вы размещаете в IIS, вы можете столкнуться с некоторыми проблемами - вам нужно настроить IIS7 (сервер Win2008 или Win2008R2), а в IIS6 вы не сможете разместить службу netTcp в IIS6: - (
То же самое на стороне клиента - добавьте вторую конечную точку для netTcp:
<client>
<endpoint name="something"
address="http://YourServer/SomeVirtDir/YourServiceFile.svc"
binding="wsHttpBinding"
contract="IYourService" />
<endpoint name="netTcpEndpoint"
address="net.tcp://YourServer:7171/YourService"
binding="netTcpBinding"
contract="IYourService" />
</client>
и теперь, когда вы создаете свою конечную точку в коде, используйте именованную конечную точку:
YourServiceClient client = new YourServiceClient("netTcpEndpoint");
Это должно быть все, на самом деле (если CSLA не требует чего-то дополнительного, о чем я бы не знал .... Я знаю WCF с "простой ванилью")