Nicholas Allen's Indigo Blog

Windows Communication Foundation From the Inside

April, 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

    Orcas Beta 1 Released

    • 2 Comments
    The first full public beta of the .NET Framework 3.5 came out Friday night. Here are the downloads to get: Microsoft Pre-Release Software Microsoft .NET Framework 3.5 – Beta 1 Visual Studio Codename "Orcas" Beta 1 Readme Here...
  • Nicholas Allen's Indigo Blog

    A Bit More on Call Context Initializers

    • 1 Comments
    In the last article on call context initializers , the sample program included three bindings to try out. All the program did was trace the thread ID being used for a particular call when the service method was invoked or when the call context initializer...
  • Nicholas Allen's Indigo Blog

    Custom Channel Development

    • 0 Comments
    I'll be giving another talk on channel development for WCF this year at TechEd. Due to the selection of sessions, there's really only one good lead-in talk and it's currently scheduled for later in the week. That means that I'll be spending more time...
  • Nicholas Allen's Indigo Blog

    Ownership of HTTP Connections

    • 3 Comments
    Why are all of the TCP sockets for my HTTP application owned by PID 4? The "-o" option of netstat tells you the process ID associated with each of the network connections. If you look at the process owner for an HTTP client application, then you...
  • Nicholas Allen's Indigo Blog

    Socket Failures

    • 1 Comments
    What is the lifetime of a TCP session? The lifetime of the session object from a TCP transport channel lasts exactly as long as you own the underlying TCP connection. Once you give up ownership of the TCP connection, either by saying that you're...
  • Nicholas Allen's Indigo Blog

    ICallContextInitializer Example

    • 2 Comments
    Here's the promised sample demonstrating how to set up a call context initializer. The basics really are quite basic so there isn't much to explain in terms of the ICallContextInitializer or the service behavior. I've created a web service with a single...
  • Nicholas Allen's Indigo Blog

    Hokie Hope Day

    • 0 Comments
    Among other memorial events, Virginia Governor Kaine will be leading a moment of silence and prayer service starting at Noon EDT. Here in Washington, a coordinated minute of silence and tolling of bells is taking place at 9 AM PDT.
  • Nicholas Allen's Indigo Blog

    Initializing the Context

    • 2 Comments
    Today's article is about a little-known extensibility point that runs shortly before and after a service invocation takes place. The call context initializer allows you to control the state of the thread that will be used for the service call. public...
  • Nicholas Allen's Indigo Blog

    Silverlight

    • 0 Comments
    Earlier this week, Microsoft announced the Silverlight product name. Silverlight is a micro-framework for developing client web applications, in particular web media applications. A micro-framework is a platform that trades off having a comprehensive...
  • Nicholas Allen's Indigo Blog

    Throttling Sessions

    • 1 Comments
    How do I push back against clients that are tying up the external connections of my service? The amount of service connection resources used by the client can be thought of as a product of two dimensions. The first dimension is the number of connections...
  • Nicholas Allen's Indigo Blog

    Moving Services and User Principals

    • 1 Comments
    A user principal name is used as an identifier for accounts on a Windows domain. The user principal name has two parts, the user account name and the domain name. The typical way of writing a user principal name looks a lot like a standard email address...
  • Nicholas Allen's Indigo Blog

    Just a Bit of Caching

    • 1 Comments
    Does WCF ever cache the DNS lookup for a service address? How do I clear this cache? There is just a tiny amount of caching that I know about. The TCP and MSMQ transports use a shared cache for recently used addresses. I think for MSMQ that this...
  • Nicholas Allen's Indigo Blog

    Starting a Hosted Service

    • 2 Comments
    How do I run some code during service start time if I'm using an IIS hosted service? In a normal executable or NT service, your code is responsible for creating the ServiceHost that contains the web services. In IIS, it is the platform activation...
  • Nicholas Allen's Indigo Blog

    Interfaces for GetProperty, Part 2

    • 1 Comments
    I've done a bit of grouping for the remaining binding elements as there are fourteen non-transport binding elements that I'm covering in this list. I've pointed out the ones that respond to a type with GetProperty on the base class as opposed to repeating...
  • Nicholas Allen's Indigo Blog

    Interfaces for GetProperty, Part 1

    • 1 Comments
    This is more of a reference than anything else. People have asked me what interfaces do something when used with GetProperty on a binding element. Of course, a custom implementation can do whatever it wishes in its GetProperty, so I can only tell you...
  • Nicholas Allen's Indigo Blog

    What a Binary Encoding Means

    • 1 Comments
    There has always been some confusion about what it means to use a "binary encoding" with your web service. The word encoding is used in a very specific sense here, which should also help you figure out the implications of choosing an encoder in the future...
  • Nicholas Allen's Indigo Blog

    An Indigo Hued Update

    • 0 Comments
    I launched a new site design over the weekend. Use the contact form to report any issues. Here are the problems that I know about so far: Wide code snippets no longer have scrollbars to let you see the whole thing.
  • Nicholas Allen's Indigo Blog

    Counting Down to TechEd 2007

    • 0 Comments
    A year later, and it's already time to say again that TechEd 2007 is in Orlando from June 4th to 8th, just eight weeks away now. Eight weeks away also means that the time for early registration is almost gone, so register now if you want to take advantage...
  • Nicholas Allen's Indigo Blog

    Messaging is not a Transaction

    • 1 Comments
    What happens to the messages being transmitted and any unprocessed messages when I call Abort? Do those messages get delivered or do they get discarded? Once you call Abort, the state of any of the network resources involved becomes undefined. What...
  • Nicholas Allen's Indigo Blog

    Optional Interfaces on Binding Elements

    • 2 Comments
    In the past I've talked a lot about the absolute minimum you need to do to write a working channel. However, what about the people that want all of the optional bells and whistles that can go along with channel development? There are several interfaces...
  • Nicholas Allen's Indigo Blog

    Choosing a Message Size for Buffered Copies

    • 1 Comments
    Creating a copy of a message requires passing the "maximum buffer size" to CreateBufferedCopy. How big should I make this maximum buffer size? In most cases, you can use Int.MaxValue and not worry about the buffer size. Specifying this buffer size is...
  • Nicholas Allen's Indigo Blog

    Enabling Kerberos in IIS

    • 2 Comments
    How do I enable Kerberos authentication for my web service? Kerberos is a very good authentication protocol to use when you're joined to a Windows domain. It is intended to work through simple configuration, but using Kerberos for network authentication...
Page 1 of 1 (22 items)