Welcome to MSDN Blogs Sign in | Join | Help

March 2006 - Posts

How to: Enabling Streaming

This article is now a part of the Windows SDK . Today's post is a short article about the mechanics of enabling transport streaming. This is a complement of other articles that describe how streaming works. Like the post on transport quotas , the formatting
Posted by Nicholas Allen | 7 Comments
Filed under: ,

WCF Hello World, Part 3: Enabling Security

Over the last two days we've looked at building a simple client and server that directly use the channel model. You can check out both the code and what gets sent over the network in those articles. I concluded yesterday with the question, what if you

WCF Hello World, Part 2: Building a Server

Writing a server that directly uses the channel model is not much more difficult than writing a client application. You'll need to grab a copy of yesterday's client application if you want someone that can to talk to your server. Very few people are actually
Posted by Nicholas Allen | 4 Comments
Filed under:

WCF Hello World, Part 1: Building a Client

During the past month, we've taken a tour of the most important parts of the channel model. We haven't really seen channels in action yet though. This series of articles is a quick introduction to directly using the channel model to send and receive messages.
Posted by Nicholas Allen | 8 Comments
Filed under:

How Internet Addresses Work

We often take for granted that we can send a message off to any computer in the world and that it will get there eventually with very little intervention on our part. Well, most of the time it gets there. One of the overlooked players in this process
Posted by Nicholas Allen | 3 Comments
Filed under:

A Word From Our Sponsors

I decided to use today's post to plug the outstanding new "Atlas" release . "Atlas" is a development platform for building AJAX-style web applications in a slick and efficient manner. Obviously, since WCF is the communication technology of choice, there

What's the Difference Between Close and Abort?

It's not uncommon to hear people wonder how calling Abort() is different from calling Close(). The purpose of Close is to request that an object go through a graceful shutdown process. The purpose of Abort is to demand that an object have an immediate
Posted by Nicholas Allen | 1 Comments
Filed under: ,

Creating Channels for Listening

Continuing from yesterday's article about IChannelFactory , today we're looking at the server side of the equation for creating channels. Before we dive into the code for IChannelListener, let's go over a few of the differences between listeners and factories.
Posted by Nicholas Allen | 2 Comments
Filed under: ,

Creating Channels for Talking

When we last left the IChannel interface , there was a brief introduction of the concept of a channel manager. A channel manager creates channels either for the client or server. For those of you familiar with BSD sockets, we have the IChannelListener
Posted by Nicholas Allen | 3 Comments
Filed under: ,

It Makes the WWW Go Round, Part 3: IRequestContext

The final player in the drama between IRequestChannel and IReplyChannel is the link connecting requests to replies. As we saw last time, when a server receives a request, it doesn't have direct access to the message that the client sent. Instead, the
Posted by Nicholas Allen | 3 Comments
Filed under: ,

How's My Syndicating?

In the past day or two I've had people mention that posts sometimes aren't showing up in their aggregator. I've checked the RSS and ATOM feeds, and they seem to be as correct as they normally are. I also get update notifications in Outlook and IE just

It Makes the WWW Go Round, Part 2: IReplyChannel

After a short break, let's continue looking at the request-reply message pattern. In the previous article in this series, we saw that the IRequestChannel interface for the client side of the pattern was almost identical to the IOutputChannel interface
Posted by Nicholas Allen | 4 Comments
Filed under: ,

Maximum Size of a SOAP Message

From time to time I wonder who comes to read this blog and why, but those kinds of questions are very hard to answer from the meager server data I can view. Such is life when you're on a hosted service, although life is not bad at blogs.msdn.com . Some
Posted by Nicholas Allen | 2 Comments
Filed under: ,

It Makes the WWW Go Round, Part 1: IRequestChannel

The final WCF message exchange pattern that I'm going to look at is the request-reply version of two-way communication. You may be familiar with the request-reply model as the native way to think about HTTP communication. Request-reply connections can
Posted by Nicholas Allen | 5 Comments
Filed under: ,

...Can Also Come Out (IOutputChannel)

Yesterday, we got a look at the reader side of the one-way communication pattern , which is implemented using IInputChannel. Today, we're looking at the writer side of that pattern. IOutputChannel bears a striking resemblance to IInputChannel but with
Posted by Nicholas Allen | 7 Comments
Filed under: ,

What Goes In... (IInputChannel)

Last week I introduced the different kinds of channel shapes that are available with WCF . This week I'm going to take a look at the interfaces for working with those channel shapes in code. Today and tomorrow are going to be the one-way channel shape
Posted by Nicholas Allen | 5 Comments
Filed under: ,

Making Sense of Transport Quotas

This article is now a part of the Windows SDK . The results are in and it looks like I'll be going full steam ahead with the plan to post totally unedited and uncensored prerelease SDK documentation for your trial consumption. I'd like to remind everyone
Posted by Nicholas Allen | 12 Comments
Filed under: ,

A POX on Us, Redux

Last week I announced a newly introduced bug in our newly introduced REST support that was causing some pain to this scenario. I thought it was worthwhile to go into a little more detail about what the bug was and how it happened. In previous versions
Posted by Nicholas Allen | 5 Comments
Filed under: ,

Get the Message

When I talk about lowercase-m messages in the channel model, mentally you should translate these to the uppercase-M Message class. A message is the fundamental data type for channels. Input channels return a Message from receive operations and output
Posted by Nicholas Allen | 8 Comments
Filed under: ,

Windows Communication Foundation Channel Shapes

The WCF channel model has three built-in archetypes for communication patterns. These archetypes are the one-way pattern, unmatched two-way pattern, and matched two-way pattern. Along with the archetypes are five interfaces, called channel shapes, that
Posted by Nicholas Allen | 7 Comments
Filed under: ,

Do You Hate Bad Documentation?

I hate bad documentation. Right now though, I'm busy writing up some topics about WCF channels in my spare time for the Windows SDK. After a few weeks of doing this, it's starting to get pretty tough deciding whether things are just right, neither too

And Starring IChannel

I've been giving a tour around the WCF channel stack without ever really explaining what channels are. Today, tomorrow, and for even more days yet to come, we'll spelunk into the heart of channels. A channel is simply a conduit through which messages
Posted by Nicholas Allen | 4 Comments
Filed under: ,

A POX on Us

In the recent CTP we added a new feature to WCF so that we work better with POX/REST scenarios. On the HttpTransportBindingElement there's a knob called MappingMode that lets you configure how we'll process HTTP headers. By default, if you receive a message
Posted by Nicholas Allen | 3 Comments
Filed under: ,

The Ties that Bind Us, Part 2: Binding

Back to the subject of bindings, a binding is what ties together the description of a channel stack. A binding contains a collection of binding elements that correspond to protocol channels, transport channels , and message encoders . In the binding,
Posted by Nicholas Allen | 4 Comments
Filed under: ,

Visiting the Usability Lab

Last week I had the opportunity to visit one of the local usability labs here and watch a real live person attempt to use WCF in a project. It's always a nervous experience the first time you're watching someone do a particular trial because you really

Encoding Messages

I've briefly covered protocol channels and transport channels in the past, which transform and transmit messages respectively. However, the subject of today's post is how a transport channel converts the message, which is an object, to bytes that can
Posted by Nicholas Allen | 5 Comments
Filed under: ,
 
Page view tracker