Welcome to MSDN Blogs Sign in | Join | Help

Browse by Tags

All Tags » Transports » Channel Extensibility   (RSS)

Building with Encoders

The basis of a channel stack is that there is a series of objects that share a common interface for communication. This leaves message encoders with something of a problem as the primitive operations for encoding and decoding messages are different than

Always Begin with Accept

Inside a service, there's a fundamental loop running whose job it is to create channels for the incoming connections to the service. There's another loop that runs later, which you may argue is equally fundamental, that reads messages from each channel

Channel Writing Checklist (Optional)

Let's fill in some of the spaces around yesterday's checklist with a list of additional features for a custom channel. Nothing that's been added to this list is required to actually send or receive messages. By doing the things listed here, you can enable

Faking Channel Security

I occasionally see people asking how they can fake the security capabilities of a binding. These questions often start off with "I'm getting an error message that a message's required protection level is not being met". Now, I'm not precisely sure why

Design Pattern for Building Channel Factories and Listeners

This is just a style convention that helps you avoid doing some thinking while writing custom channel classes. During the channel construction process, there's a flow of information from the binding (design time), through the channel factory and listener,

The GetProperty Picture

I drew this picture for myself while working on the guidelines for implementing GetProperty . I figured that other people might find it useful as well. One of the guidelines is that queryable properties on design time objects should flow to the corresponding

Datagram Transports

Datagrams are a self-contained unit of data. Each datagram carries with it the routing and context information needed to receive the data without knowing about any earlier exchanges of information. This means that you can continue sending datagrams from

Implementation Guidelines for GetProperty

This post is just some quick thinking about guidelines for implementing the GetProperty method. These guidelines are still in development so think of this as a draft rather than real guidance at this time. Background: We provide an extensibility point

ROT 128 Stream Upgrade Sample, Part 5

Today is the last part of the stream upgrade sample. We've already looked at all the parts required to make the stream upgrade operate: stream, binding element, provider, initiator, and acceptor. All that's left today is to build a test harness for the

ROT 128 Stream Upgrade Sample, Part 4

The final pieces needed for the ROT 128 sample are a stream upgrade initiator and a stream upgrade acceptor. The initiator starts the upgrade process by providing an upgrade type string from GetNextUpgrade. I've coded this so that the initiator and acceptor

ROT 128 Stream Upgrade Sample, Part 3

Last time, we built the binding element for the stream upgrade sample . The job of the binding element was to stash itself away in the binding context so that the transport could later pull out the stream upgrade and build the provider. This time we'll

ROT 128 Stream Upgrade Sample, Part 2

Building a stream upgrade for ROT 128 starts with creating a binding element to put in the channel stack. This binding element extends the special StreamUpgradeBindingElement base class , which functions very similarly to the specialized binding element

ROT 128 Stream Upgrade Sample, Part 1

The mission for the next five days is to build and demonstrate an implementation of a stream upgrade. For review, a stream upgrade is a component that plugs into the transport and rewrites the byte stream as it goes on and off of the network. Stream upgrades

Consistency for Timeouts and Quotas

A few weeks ago we spent some time thinking about the right way to think about quotas. This metathinking was triggered by a fix for a bug in the service host. The WCF service model layer, including the service host, sits on top of the messaging layer

Some Changes for Channels and Transports in the June CTP, Part 4

Yesterday's post covered most of the big new features that were added in the latest release . Today I'll go through the rest of the new features that are smaller in scope although no less exciting. When the channel stack is being built from binding elements,
More Posts Next page »
 
Page view tracker