New to WCF programming??

Check out Clemens Vasters’ paper introducing WCF up on… Also, some presentations and hands-on labs at -shalini.


Configuring Peer Channel: With/Without App.config

So now that we know what the NetPeerTcpBinding is how you can end up using Peer Channel in your standard WCF application, let’s take a look at how to configure peer channel. We follow the standard WCF (.NET really) pattern of allowing configuration through an App.config file for your application or imperatively within the code itself. Which way you choose to go really…


Getting started- A Fresh look at Peer Channel (NetPeerTcpBinding)

Allright, the general consensus amongst new adopters/potential customers seems to be, that our documentation on msdn seems to be not all that crystal-clear, especially for a new comer, to Peer Channel. And that uptil now, we have been targetting advanced scenarios in our blog – Since it might take a while for us to get stuff added/edited up on msdn,…


Limited Message Distribution: A Survey of Flavors

One our very, very most frequently asked questions about PeerChannel takes the following form: “I like the easy way in which I can send messages to everyone one in the mesh, but sometimes, I just want to send a message to [one person, my neighbor, a subset] in the mesh.  How do I do that?” PeerChannel…


Modifying PeerChat to use Synchronization

We return to our favorite application, the Chat room.  In this example, we want members who enter and leave the mesh to be able to catch up on what was said while they were gone, so all chat messages will be synchronized throughout the mesh.  This will require writing a simple synchronization layer on top…


PeerChannel and Synchronization

One of our most popular questions has centered around using synchronization with PeerChannel.  Although PeerChannel does not include a synchronization layer in box, it is not overly difficult to develop your own synchronization layer on top.  Although a complete discussion on distributed synchronization protocols is beyond the scope of a single blog article, I will…


Custom Resolver FAQ: Registration Lifetimes and Refresh

As PeerChannel and the .NET Framework continue to gain traction and popularity, we are starting to receive a number of questions about how to use various parts of this exciting technology.  Some of our most common questions center around the use of the Custom Resolver Service.  Note that a discussion of whether or not to implement a…


Extending the CustomPeerResolverService: LinearResolverService.cs

For background information on PeerChannel discovery mechanisms and options please refer to By default, PeerChannel uses the Windows Peer Name Resolution Protocol (PNRP) for discovery of peers and neighbors in the mesh. But we also provide an alternative server-based out-of-the-box discovery service- the CustomPeerResolverService- for situations/platforms where PNRP is not available or feasible. This post talks about how…


Whats new in Orcas for PeerChannel : Manual addressing options.

V1 of PeerChannel didnt have any support for manual addressing. In fact, the addressing headers are overwritten by the underlying TCP when the PeerChannel passed the message along to the transport. The way PeerChannel preserved the applications’s addressing was by making copies and reapplying those to the message before delivering to the application’s service runtime…