Okay, I found some newer documentation for Windows Communication Foundation here (directly to the zip).  This got me moving and there were functional sample apps embedded in the help that you can extract.  I extracted the Getting Started Sample and followed the instructions.  You have to be sure to do the one-time setup that is referenced; it's not just referring to getting the runtime components going.

I found that I had to be running as an Administrator in order for either the server or the client to function.  I worked around this with MakeMeAdmin and I managed to get the sample up and running... yea!

The next objective was to see if WCF could apply to my specific problem.  Pretty typical problem I think: User Experience layer is running on one box, but it will connect to an application server for all back-end processing.  I had immediately thought .NET Remoting, but then decided I should check out WCF to see if it could be used for this problem.

My solution has a Proxy layer that sits between the Presenter and the Manager.  The Manager is full of SOA type routines for serving up data entities.  I want the Proxy layer to simply wrap around the Manager layer, calling it remotely.

So now that I have a WCF sample app going, the next step is to return a custom data entity over a WCF call.  This part isn't looking to great for me.  The WCF documentation states:

The data types used by a service must be described in metadata to enable others to interoperate with the service. The descriptions of the data types are known as the data contract, and the types may be used in any part of a message, for example as parameters or return types.

This rings a bell from a WCF demo I saw many months ago.  WCF is built with A-B-C: Addresses-Bindings-Contacts.  You have to have a data contract for each data entity that is going to pass over the wire.  The beauty of this is that the client doesn't have to reference the actual data entity class library.  But what sucks about this is that the client doesn't reference the actual data entity class library!

In my case, I really want to work with an instance of an object that I have, just over the wire.  I don't want to represent that object in a contract and create another object that looks just like it.

So, I'm kind of stuck with WCF at the moment.  I'm glad I dug in because I learned quite a bit along the way, but as of right now, it doesn't look like I'll be using WCF to solve my problem.

Next week, Drew Robbins will be speaking to the internal users' group at BIG.  He's actually coming here to talk to us about .NET 3.0 stuff (WCF, WPF, WF), so I'll certainly have to hit him up on this scenario to see what he recommends.  But for now, I'm creating a .NET Remoting server.