I was digging through the .NET 4.0 assemblies and started with a group that is near and dear to my heart: System.ServiceModel.*. I know-that’s the super cool but really hard thing to understand in .NET, at least, that’s what I seem to see all the time. Last night, I poked around in System.ServiceModel.Channels-a new assembly in .NET 4.0. This assembly contains two interesting features:
- The ability to send messages in process.
- The ability to send blobs as is.
The in process channel was frequently asked for by users back in the Indigo beta days. As a matter of fact, this was typically the first channel that the channel team would write to make sure that the latest iteration of the channel model still worked and made sense. Then, the channel was checked into the build verification tests (BVTs), but never into the product. Finally, with .NET 4.0, that class has moved to production in System.ServiceModel.Channels.LocalTransportBindingElement and System.ServiceModel.LocalBinding.
The other interesting item is the blob encoder: System.ServiceModel.Channels.BlobMessageEncodingBindingElement.
I see that, right now, the web is quiet on the documentation for these classes. I’ll be testing them out ASAP and will share what I learn soon after.