Welcome to MSDN Blogs Sign in | Join | Help

April 2006 - Posts

Basics of Transport Security

I've gotten several questions about how transport security works. I'm putting together a list of transport security topics to talk about over the next few months to cover this topic. Before getting to that list though, I thought I'd talk a little bit

Building a Custom File Transport, Part 7: Request Channel

The request channel is what's actually going to send messages from the client and receive a response from the server. In the request-reply channel shape, sending and receiving messages are inextricably tied together. That means the client just has to

Building a Custom File Transport, Part 6: Channel Factory

We've passed the midway point for the custom file transport example. Now that we've got the underlying file code, today's article starts building out the rest of the client-side code. Here's the story so far: Building a Custom File Transport, Part 1:

Networking with NATs and Firewalls

Two weeks ago I talked a little bit about how Network Address Translators (NATs) work , but only hinted at the broader picture. There's a two step process for getting from those technical details to how you should deal with NATs and firewalls in WCF.
Posted by Nicholas Allen | 1 Comments
Filed under:

Building a Custom File Transport, Part 5: Channel Basics

I've pulled out the actual mechanics of the file transport into a separate class in this example. Both the client and server sides of the channel are going to use this code. There's more than the average amount of code in this class so I've created a

Building a Custom File Transport, Part 4: Binding and Binding Element

Creating a binding and binding element for your transport is entirely optional if you're just using the channel model. It is possible to do everything you need through the channel factory and listener as long as you make those public. This stops being

Counting Down to TechEd 2006

I'm devoting today's post to setting up some connections for TechEd. TechEd 2006 is in Boston from June 11th to 16th, just eight weeks away now. I'll be there, along with quite a few other Indigo'ers, talking about what we've brought to the table with
Posted by Nicholas Allen | 1 Comments
Filed under:

Building a Custom File Transport, Part 3: Client

I once again used the trick of taking the code from the previous example for the client . The File Transport client uses the same binding class as the server. This isn't actually a hard requirement in WCF. We never force you to share code between the

Building a Custom File Transport, Part 2: Server

For the server, I took the example code I posted a few weeks ago and started making modifications. I've replaced the binding with a new one for the File Transport (we'll cover that code later this week) and added some reasonable timeouts for all of the

Building a Custom File Transport, Part 1: Planning

During the last few weeks I've been going over various parts of the channel model and giving some commentary about using those classes. Looking back at the list of topics, we've already covered everything you need to build a custom transport. Today I'm

Configuring HTTP

Although most people think of web servers when they hear HTTP, it's entirely possible to self-host WCF services over HTTP. You do need to perform some configuration magic to make this happen, especially if you want to peacefully coexist with an existing

How Network Address Translation (NAT) Works

Statistics indicate that you likely would not be able to read this post without the help of network address translation. NATs are a mechanism for several machines to share a single external IP address. A port-remapping NAT maps an internal IP address
Posted by Nicholas Allen | 6 Comments
Filed under: ,

How TCPIP Works, Part 4 Demultiplexing Connections

Yesterday, we looked at the tax you pay for a typical network stack . Where does all that tax go? Well, some part of it is dedicated to actually delivering messages to you. That's kind of an essential tax to pay. Let's look at the same picture of data
Posted by Nicholas Allen | 4 Comments
Filed under: , ,

How TCPIP Works, Part 3: Framing Data

As someone that just uses WCF to get a job done, you may be wondering why it's important to know about all of those network protocols that I talked about yesterday . Well, in exchange for helping move your data around, every protocol layer you go through
Posted by Nicholas Allen | 6 Comments
Filed under: , ,

How TCP/IP Works, Part 2: Protocols

Inside each layer of the TCP/IP networking stack , there are many protocols to transmit and route information at that level. Today's post has some of the more popular protocols that play a role in helping your WCF applications work, as well as a few protocols
Posted by Nicholas Allen | 4 Comments
Filed under: ,

How TCP/IP Works, Part 1: Layers

When you use WCF, you take for granted a lot of the infrastructure that actually moves data from place to place. TCP/IP is the backbone of the Internet, allowing computers with different hardware running different software to communicate with each other.

Using the Base Classes to Build Things that Build Channels

After seeing the ChannelBase class yesterday for implementing a channel, today's post is about the base classes for implementing the things that build channels. There is a common ChannelManagerBase class, and then the two ends of the channel split into
Posted by Nicholas Allen | 3 Comments
Filed under: ,

Using the Base Classes to Build Channels

After a bit of a diversion, let's spend some time again looking at the parts necessary to build a custom channel. I hope to use the second half of this month going over a custom transport I've put together as a quick sample. We've seen most of the important
Posted by Nicholas Allen | 5 Comments
Filed under: ,

Five Pitfalls of the Channel Model, Part 2

In yesterday's post, we looked at the first three subtle rules , aka pitfalls, of the channel model. Today's post covers pitfalls four and five. A pitfall is something that has significant negative consequences and no clear indication in the code that
Posted by Nicholas Allen | 1 Comments
Filed under: ,

Five Pitfalls of the Channel Model, Part 1

Although the WCF channel model has a relatively simple set of APIs, it has a very subtle set of rules for using those APIs. I've picked out a small collection of rules to talk about for the next two posts. You might have seen some of these before if you're
Posted by Nicholas Allen | 1 Comments
Filed under: ,
 
Page view tracker