Nicholas Allen's Indigo Blog

Windows Communication Foundation From the Inside

February, 2007

Blog - About

About

Dr. Allen is a Program Manager at Microsoft working on Windows Communication Foundation, Windows Workflow Foundation, Silverlight, and other projects for the .NET Framework.

All material is provided "AS IS" with no warranties, and confer no rights. The opinions expressed are those of the individual authors, and do not reflect the views of Microsoft. Material may be added or removed without notice.

By posting a comment you grant me a non-exclusive, royalty-free license to do whatever I like with the comment, including giving these rights to another party. Ownership of a comment remains with the author.

I do not edit comments but I may ignore or delete them for any reason without warning.

  • Nicholas Allen's Indigo Blog

    A Trick with Faults (Discussion)

    • 3 Comments
    The code yesterday was meant to motivate a side-discussion on how faults get generated and handled between the server and client proxy. If you tried running that sample, then you would have seen that despite the FaultException being thrown on the service...
  • Nicholas Allen's Indigo Blog

    A Trick with Faults

    • 1 Comments
    What does this code print? It seems like both choices are quite reasonable. I'll have some discussion about this tomorrow. [ServiceContract] interface IService { [OperationContract(Action= "foo" )] Message Verb(Message input); } class Service : IService...
  • Nicholas Allen's Indigo Blog

    Channels Illustrated

    • 1 Comments
    In the channel development series last week, we looked at the characteristics of channels (protocol channels, transport channels, and why you would write a channel at all). Let's use a specific example to illustrate those points. Although the protocol...
  • Nicholas Allen's Indigo Blog

    Tuning Contracts for Performance

    • 1 Comments
    I have a service contract with a few operations that take large inputs and do a lot of processing. If I configure the service quotas with small values to prevent too many of the expensive operations from happening at once, then the overall throughput...
  • Nicholas Allen's Indigo Blog

    Transport Channels

    • 2 Comments
    Let's shift gears for a bit and talk about transport channels now as opposed to protocol channels. Everything that was said yesterday for channel stacks is still true when we add transport channels to the picture. Everything that was said yesterday for...
  • Nicholas Allen's Indigo Blog

    Protocol Channels

    • 5 Comments
    There are only two kinds of channels in the world. Today we'll talk about protocol channels. Tomorrow we'll talk about transport channels. Transport channels move data to and from the network Protocol channels move data between the application and...
  • Nicholas Allen's Indigo Blog

    When to Write a Channel

    • 5 Comments
    Today's article is about the tension between two simple points. Writing channels can generally be used to solve just about any problem in WCF Writing channels is generally the most time-consuming way to solve a problem in WCF The key inference...
  • Nicholas Allen's Indigo Blog

    Channel Development Tour, Part 1

    • 4 Comments
    This is the start of a long series on channel development. Some of the material in the series is going to duplicate topics that I've written about in the past. That's ok. The goal of the series is to have a walkthrough that is self-contained and in...
  • Nicholas Allen's Indigo Blog

    Table of Contents Scratch Work

    • 4 Comments
    I haven't forgotten about the goal to put together a table of contents for all of these articles. The part I find hardest about this process is taking the articles that talk about five or six topics and figuring out a single place where they should go...
  • Nicholas Allen's Indigo Blog

    Stashing Data in Extensible Objects

    • 3 Comments
    How do I store some state about the current request so that I can use it later during the same service operation? There are several different standard contexts in which state can be stored. Each of them works the same so I'll present all of them...
  • Nicholas Allen's Indigo Blog

    Jobs, Jobs, Jobs

    • 2 Comments
    How do I find out about jobs working on WCF? That's an excellent question. I went to the Microsoft career site and I had a hell of a time finding the jobs that I knew we had available. I ended up finding them by reverse engineering the positions...
  • Nicholas Allen's Indigo Blog

    More Poison Message Handling

    • 2 Comments
    We saw the poison message handling strategies for MSMQ 3 and MSMQ 4 yesterday, but how many different strategies can we come up with? Let us count the ways. I've roughly ordered these by increasing complexity. Discard. We could simply throw away...
  • Nicholas Allen's Indigo Blog

    MSMQ and Poison Messages

    • 1 Comments
    Last time we looked at the idea of poison messages in queues - messages that are permanently unprocessable. If we don't handle a poison message carefully, then we will be locked into a permanent cycle of requesting the message from the queue, failing...
  • Nicholas Allen's Indigo Blog

    Poison Message Handling

    • 2 Comments
    I've got a few posts on queued and durable messaging coming up over the next few weeks, and we're going to need some vocabulary for those posts that hasn't been used yet while talking about web services. Today's article covers general background around...
  • Nicholas Allen's Indigo Blog

    Durable is More than Duplex

    • 1 Comments
    Clemens and Shy pointed me at this article by Harry Pierson the other day. Since I was getting ready to present at a conference, I just now had time to read the article, and it is really good. If you have been confused in the past about the relationship...
  • Nicholas Allen's Indigo Blog

    You Can't Fake Correlation

    • 1 Comments
    How do I construct callbacks to work over a load balancer without affinity? Let's construct a scenario to demonstrate this question. I have three machines; call them X, Y, and Z. X and Y are together behind a network load balancer. This is a server...
  • Nicholas Allen's Indigo Blog

    Transport Encryption and Signing

    • 3 Comments
    How do I control whether the transport signs and encrypts messages? This answer ties into the article I wrote a few weeks ago on describing channel security capabilities . If you don't remember about protection levels and security capabilities...
  • Nicholas Allen's Indigo Blog

    Actions for FaultExceptions

    • 2 Comments
    What should I set the action parameter to when creating a FaultException? There is indeed a pair of overloads for creating fault exceptions that take an action parameter, although most of the overloads lack this. public FaultException(TDetail...
  • Nicholas Allen's Indigo Blog

    Bindings for Workgroups

    • 3 Comments
    What's the fastest binding for securely communicating over an intranet? How about if the client and server don't share a domain? A lot of attention gets paid to Internet configurations, where HTTP rules the world. HTTP is so dominant in that environment...
  • Nicholas Allen's Indigo Blog

    Reducing Memory Usage with Large Messages

    • 2 Comments
    I'm working on an application that processes many large messages at the same time. The messages should all fit into memory, but I'm running out of memory much sooner than expected. How do I reduce the overhead associated with each message? I'm...
Page 1 of 1 (20 items)