We had a great time at the INETA Vista Launch event.
My code samples and full solution are now available for download (see below).
The solution demonstrates a fictitious Human Resources line of business application using both IIS 5 hosting and self hosting.
The IIS hosting model shows how simple it is to host WCF services using HTTP-based bindings, allowing for applications to be built today that are directly portable to IIS 7.0 & WAS.
Next, we moved beyond HTTP and took the same WCF service and added support for both online and offline communication patterns using netTcpBinding and netMsmqBinding using a self hosted console application (host) and a Windows Forms Smart Client (client). When the network is up, the client uses the tcp channel, however, if the network interface is disabled (simulating an outage), the client automatically switches to the msmq channel in response to a signal from the OS that the network is no longer available. The client is able to continue work seamlessly, and when the network is back up, the host reads awaiting messages from the queue and processes them accordingly.
NOTE: The client requires a private MSMQ queue. If a queue is not available, the client's constructor will attempt to create it on your machine, so please ensure that you have MSMQ installed prior to running the smart client demo. Also, the service writes a file called "HRFile.txt" to the C:\ drive to simulate a backing store for the fictitious transaction.