Nicholas Allen's Indigo Blog
Windows Communication Foundation From the Inside
Writing Binding Element Essentials
We're back to the channel development series for another pair of days. When I left off, I promised...
Author: Nicholas Allen Date: 03/27/2007
Where You're Reading
I know that 80% of you read this blog using RSS and just about 70% of what's left are coming here...
Author: Nicholas Allen Date: 03/26/2007
Preventing Anonymous Access
How do I prevent clients from accessing my service anonymously? I've changed the settings in IIS...
Author: Nicholas Allen Date: 03/23/2007
Responding to GetProperty
I've created a custom implementation of GetProperty for my binding but now I'm getting errors when I...
Author: Nicholas Allen Date: 03/22/2007
Channel Managers
Last time, we left off the channel construction process at the end of the design stage. During the...
Author: Nicholas Allen Date: 03/21/2007
Gone Missing?
Today's post seems to have gone missing from the posting system. I'll see if I can locate what...
Author: Nicholas Allen Date: 03/20/2007
Channel Bindings
We're back to the channel development tour for another pair of articles. Today's article is the...
Author: Nicholas Allen Date: 03/19/2007
Mapping to a VDir
When I run my non-HTTP service in IIS, I get an error message that the protocol is not supported....
Author: Nicholas Allen Date: 03/16/2007
Getting the Client Identity
How does my service know the identity of one of the connecting clients? I'm going to focus this...
Author: Nicholas Allen Date: 03/14/2007
Channel Writing Checklist (Optional)
Let's fill in some of the spaces around yesterday's checklist with a list of additional features for...
Author: Nicholas Allen Date: 03/13/2007
Channel Writing Checklist (Required)
This pair of articles marks the checkpoint between the "big picture" introductory segments and the...
Author: Nicholas Allen Date: 03/12/2007
Extracting Content Types
What is the content type of the message returned by a service? The idea of a content MIME type is...
Author: Nicholas Allen Date: 03/09/2007
Channel Shapes
I was looking through the archives the other day and found that the original article on channel...
Author: Nicholas Allen Date: 03/08/2007
Message Flow Interception Points
We've been looking at the flow of messages (Part 1 and Part 2), but have never stopped along the way...
Author: Nicholas Allen Date: 03/07/2007
The Pool is Full
What does the trace message "The pool of the native MSMQ messages is full. This may affect...
Author: Nicholas Allen Date: 03/06/2007
Flow of Messages, Part 2
Continuing from last time, we were looking at the flow of a message during a service call. We left...
Author: Nicholas Allen Date: 03/05/2007
Flow of Messages, Part 1
In the channel development series so far, we've just been looking at channels. I've already...
Author: Nicholas Allen Date: 03/02/2007
March CTP Released
The latest CTP is available for the Visual Studio "Orcas" release. There are a lot of new features...
Author: Nicholas Allen Date: 03/01/2007
A Trick with Faults (Discussion)
The code yesterday was meant to motivate a side-discussion on how faults get generated and handled...
Author: Nicholas Allen Date: 02/28/2007
A Trick with Faults
What does this code print? It seems like both choices are quite reasonable. I'll have some...
Author: Nicholas Allen Date: 02/27/2007
Channels Illustrated
In the channel development series last week, we looked at the characteristics of channels (protocol...
Author: Nicholas Allen Date: 02/26/2007
Tuning Contracts for Performance
I have a service contract with a few operations that take large inputs and do a lot of processing....
Author: Nicholas Allen Date: 02/23/2007
Transport Channels
Let's shift gears for a bit and talk about transport channels now as opposed to protocol channels....
Author: Nicholas Allen Date: 02/22/2007
Protocol Channels
There are only two kinds of channels in the world. Today we'll talk about protocol channels....
Author: Nicholas Allen Date: 02/21/2007
When to Write a Channel
Today's article is about the tension between two simple points. Writing channels can generally be...
Author: Nicholas Allen Date: 02/20/2007
Channel Development Tour, Part 1
This is the start of a long series on channel development. Some of the material in the series is...
Author: Nicholas Allen Date: 02/19/2007
Table of Contents Scratch Work
I haven't forgotten about the goal to put together a table of contents for all of these articles....
Author: Nicholas Allen Date: 02/16/2007
Stashing Data in Extensible Objects
How do I store some state about the current request so that I can use it later during the same...
Author: Nicholas Allen Date: 02/15/2007
Jobs, Jobs, Jobs
How do I find out about jobs working on WCF? That's an excellent question. I went to the Microsoft...
Author: Nicholas Allen Date: 02/14/2007
More Poison Message Handling
We saw the poison message handling strategies for MSMQ 3 and MSMQ 4 yesterday, but how many...
Author: Nicholas Allen Date: 02/13/2007
MSMQ and Poison Messages
Last time we looked at the idea of poison messages in queues- messages that are permanently...
Author: Nicholas Allen Date: 02/12/2007
Poison Message Handling
I've got a few posts on queued and durable messaging coming up over the next few weeks, and we're...
Author: Nicholas Allen Date: 02/09/2007
Durable is More than Duplex
Clemens and Shy pointed me at this article by Harry Pierson the other day. Since I was getting ready...
Author: Nicholas Allen Date: 02/08/2007
You Can't Fake Correlation
How do I construct callbacks to work over a load balancer without affinity? Let's construct a...
Author: Nicholas Allen Date: 02/07/2007
Transport Encryption and Signing
How do I control whether the transport signs and encrypts messages? This answer ties into the...
Author: Nicholas Allen Date: 02/06/2007
Bindings for Workgroups
What's the fastest binding for securely communicating over an intranet? How about if the client and...
Author: Nicholas Allen Date: 02/02/2007
Reducing Memory Usage with Large Messages
I'm working on an application that processes many large messages at the same time. The messages...
Author: Nicholas Allen Date: 02/01/2007
Amplified Flooding Attacks
Today's article is about a classic flooding attack that relies on a receiver who isn't careful about...
Author: Nicholas Allen Date: 01/31/2007
Queue Scalability
I'm building an always-on service that gets its messages from a front-end queue. How do I design...
Author: Nicholas Allen Date: 01/30/2007
Using XML Serialization with WCF
How do I switch the serializer being used to process messages to the old XmlSerializer? WCF supports...
Author: Nicholas Allen Date: 01/29/2007
Disabling Security Timestamps
I'm using the WSHttp binding for message security with a non-WCF system. The other system doesn't...
Author: Nicholas Allen Date: 01/26/2007
Errors Without Context
I don't know how many people use the code I post, but I frequently stumble across peculiar or...
Author: Nicholas Allen Date: 01/25/2007
Modifying HTTP Error Codes, Part 2
Let's pick up where we left off last time with the question… How do I modify the HTTP status code...
Author: Nicholas Allen Date: 01/24/2007
Modifying HTTP Error Codes, Part 1
Back to errors and faults for a bit with this two part series on modifying the HTTP status code used...
Author: Nicholas Allen Date: 01/23/2007
Keeping Traces Up to Date
I've enabled tracing in my application, but I don't see entries in the trace log show up until I...
Author: Nicholas Allen Date: 01/22/2007
Are Your Message Headers Still Unsecure?
Due to some server problems, the MSDN RSS and Atom feeds weren't getting updated Thursday or Friday....
Author: Nicholas Allen Date: 01/22/2007
Securing Custom Headers, Version 2
Last time we were looking at the problem of securing a dynamically generated message header. We saw...
Author: Nicholas Allen Date: 01/19/2007
Securing Custom Headers, Version 1
I'm securing messages using SOAP security but I also have some message headers that are generated...
Author: Nicholas Allen Date: 01/18/2007