This depends on what type of system you are building and what features of WCF
you want.
We had to implement our own version of WCF for the mobile device because WCF
is not available yet. We needed the following: Security, Reliable messaging,
Transactional messaging, interopability, scalability etc We decided to create
a Message class which is serializable and contains a header and body. The
message object can be any type of message which brings us an uncoupled
system. All this for us is designed to work with middleware - biztalk. This
is the key element which enables us to implement a total uncoupled system. We
have to do this because our system integrates with a number of systems many
of which we haven't written including an old mainframe running a 30 year old
batch COBOL application.
We did the above with CF 2. The backbone is TCP Sockets, but working with
our libraries is much richer. We use TCP for the reliable messaging bit. WCF
will make all this much easier, but you need to determine what elements you
need and what type of system you are building in order to decide what
technology to employ. So it depends how complex your system is.
Other issues with our system is connectivity and scalability. Although
connectivity is not really an argument here it could be depending on the type
of comms required.
We use GPRS as our devices are used in the field. This presents issues with
connectivity hence the reliable messaging bit. This also introduces issues
with breaking up messages into packets if GPRS is used. Our solution supports
3G, again when 3G is available connectivity and message size is slighty
different....
I could talk about this for hours...!
Good luck with your project.