Nicholas Allen's Indigo Blog

Windows Communication Foundation From the Inside

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

    Number of Connections for Secure Conversation

    • 1 Comments
    Why does a service call require creating multiple connections when using message security? Several common uses of message security require sending multiple messages, particularly on the first call for a given proxy. For example, one way to establish...
  • Nicholas Allen's Indigo Blog

    Semantic Annotations for WSDL

    • 0 Comments
    The other day the W3C released a new recommendation called Semantic Annotations for WSDL and XML Schema . Semantic annotations are used to connect an element in a structural model to an element in a semantic model. The semantic model element describes...
  • Nicholas Allen's Indigo Blog

    Attribute Driven Transactions

    • 1 Comments
    How are transactions controlled by decorating attributes on service methods? There are three important transaction-related attributes that can be supplied through operation behaviors on the service implementation. By setting the TransactionScopeRequired...
  • Nicholas Allen's Indigo Blog

    MSMQ Addressing

    • 3 Comments
    Here's a quick guide to how an address that uses the net.msmq scheme in WCF gets turned into an actual MSMQ address. There are three transfer protocols used with MSMQ: native, SRMP (SOAP Reliable Messaging Protocol), and SRMPS (SOAP Reliable Messaging...
  • Nicholas Allen's Indigo Blog

    Endpoints with Multiple Schemes

    • 1 Comments
    My service has two endpoints, an HTTP endpoint for serving metadata and a non-HTTP endpoint for the actual service. The base address of the service is the non-HTTP endpoint. How do I get the HTTP endpoint to work? I get an error even if the metadata address...
  • Nicholas Allen's Indigo Blog

    Measuring Reliable Session Speed with Duplex

    • 3 Comments
    The results last time were in disagreement with the rule of thumb that turning on reliable messaging cuts your throughput roughly by half . One possible explanation for the disagreement is that the measurements were looking at the wrong thing. The...
  • Nicholas Allen's Indigo Blog

    Orcas Beta 2 Samples

    • 5 Comments
    When Orcas Beta 2 was released, all of the links for samples were still pointing to the Beta 1 SDK download for a few weeks. That's evidently changed recently as there is now a download available for the Orcas Beta 2 SDK samples .
  • Nicholas Allen's Indigo Blog

    Measuring Reliable Session Speed

    • 1 Comments
    What kind of a performance impact does ensuring reliable delivery have? A common rule of thumb that I've heard circulated in the past is that turning on a feature such as reliable messaging or security cuts your throughput roughly by half. I decided to...
  • Nicholas Allen's Indigo Blog

    Faking Poison Message Handling

    • 3 Comments
    MSMQ has gotten a bit of an upgrade in the latest releases, particular in the area of poison message handling. Let's look a bit though at what users of Windows Server 2003 can do in the meantime before the next version of Windows Server is officially...
  • Nicholas Allen's Indigo Blog

    Trace Transfer

    • 1 Comments
    A few days ago I talked about how to enable tracing across service boundaries . The brief summary of that story is that tracing across boundaries works by associating an identifier with each activity and using the identifier to later reconstruct the original...
  • Nicholas Allen's Indigo Blog

    Supporting Multiple Security Mechanisms

    • 3 Comments
    How do I write a service that gives clients the option to choose between different security mechanisms for protecting a service call? For example, how can I allow clients to choose between certificates and passwords? I think that if the example choice...
  • Nicholas Allen's Indigo Blog

    Security and Streaming

    • 1 Comments
    Can I secure a message without having to buffer the message in memory? The answer to this question is yes and no, depending on what the word secure is supposed to mean. There are differences between the operation of transport-level security and message...
  • Nicholas Allen's Indigo Blog

    XML Support

    • 4 Comments
    What kinds of XML do messages support? This isn't a simple question because, like many parts of a framework, it's important to distinguish what could possibly be done given enough time versus what could easily be done given the components that ship...
  • Nicholas Allen's Indigo Blog

    Creating Sessions over HTTP

    • 5 Comments
    I've got a sessionful contract that I want to use with HTTP. How do I get the HTTP transport to produce a sessionful channel shape? The basic design principle of channels is that they produce whatever channel shape is their natural message exchange...
  • Nicholas Allen's Indigo Blog

    Service Contract Generation

    • 1 Comments
    In the post on custom namespaces a few days ago, I used svcutil to generate the service WSDL and schema description. This use of svcutil is apparently not as well understood so I thought I'd give some more details. The typical use of these programs...
  • Nicholas Allen's Indigo Blog

    Serializing UniqueId

    • 1 Comments
    Why can't UniqueId be serialized? Data contracts only have native support for a limited set of types. If you use a type that is not in this native set, then you'll get an exception that the data contract is invalid unless you decorate the type with...
  • Nicholas Allen's Indigo Blog

    Calling Services Without a Contract

    • 4 Comments
    Contracts are largely an illusion about the kinds of messages that can be exchanged between a client and a server. From a practical perspective, a service can describe itself using any contract it likes but the true measure of compatibility comes from...
  • Nicholas Allen's Indigo Blog

    Tracing Across Services

    • 4 Comments
    How can I put together a stack trace that goes between service operations on different services? In a normal stack trace, all of the stack frames have a single observer that can view the sequence of calls and recreate them in the proper order. Some...
  • Nicholas Allen's Indigo Blog

    Increasing the Maximum Fault Size

    • 1 Comments
    When the service sends a fault message with a large detail, my client is unable to read the fault. Changing the standard settings for the maximum message size doesn't help. How can I read large fault messages? Fault messages have their own special...
  • Nicholas Allen's Indigo Blog

    Custom Namespaces

    • 7 Comments
    If you've ever looked at a generated WSDL file, you may be wondering how all of the different parts of the service description are reassembled to form WSDL. Today's article is about the namespaces in the WSDL file. Here's an example service that provides...
  • Nicholas Allen's Indigo Blog

    Choosing a Port

    • 3 Comments
    A common question is what port should be chosen for publishing a service. I'm assuming that the question is being asked because no one has told you that you must use a certain port for contractual or operational reasons. If you have to use a particular...
  • Nicholas Allen's Indigo Blog

    Jiggling the Handle

    • 0 Comments
    Minor technical hangup Wednesday when the normal post ended up not appearing in the RSS feed. I fixed it a few hours later, but if you're still missing Revealing the Hierarchy , then you can get it through the web link. Trackbacks and comments for the...
  • Nicholas Allen's Indigo Blog

    Revealing the Hierarchy

    • 0 Comments
    I have a hierarchy of types that I'm using in service data contracts. When I change the service implementation, sometimes this shifts things so that a different set of the base classes and derived classes are exposed by the service. How do I present a...
Page 1 of 1 (23 items)