Nicholas Allen's Indigo Blog

Windows Communication Foundation From the Inside

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

    TCP Keep Alive

    • 9 Comments
    How do I detect when the other side of a TCP connection has gone away? Does TCP keep-alive take care of this for me? Although we take it for granted that change can be quickly detected for closely connected components, it turns out to be surprisingly...
  • Nicholas Allen's Indigo Blog

    Shutting Down Service Hosts

    • 5 Comments
    How should I shut down a running service host? Here's a variety of attempts at answering the same question, with varying levels of sophistication thrown into the mix. Way Too Simple Always call abort, it's guaranteed to shut...
  • Nicholas Allen's Indigo Blog

    Future of Silverlight

    • 3 Comments
    Late last week Scott Guthrie announced some of the plans for the next version of Silverlight . In addition to being renamed from Silverlight 1.1 to Silverlight 2.0 and getting a beta date for Q1 of next year, here were the big new features announced....
  • Nicholas Allen's Indigo Blog

    Sharing Contracts Across Services

    • 3 Comments
    I've deployed several services that share some of their data contracts. When I build a client application that calls more than one of the services, each service contributes a copy of the data contract during proxy generation. This causes a compile error...
  • Nicholas Allen's Indigo Blog

    Collections without CollectionDataContract

    • 3 Comments
    In the article about serialization conflicts , one of the points mentioned was that CollectionDataContract doesn't let you add non-default data members. How do I format a collection that contains data members? CollectionDataContract is automatically being...
  • Nicholas Allen's Indigo Blog

    Controlling HTTP Connection Limits

    • 3 Comments
    I need to make many simultaneous HTTP calls to the same service from my client application. How do I increase the limit on the number of HTTP connections? This setting isn't available on any of the bindings or binding elements but the default limit...
  • Nicholas Allen's Indigo Blog

    Mapping Credentials to Authentication Schemes

    • 3 Comments
    You may have noticed that an HTTP binding is configured with an HttpClientCredentialType whereas an HTTP binding element is configured with an AuthenticationScheme. How are these two settings related? If you want to switch between a custom binding and...
  • Nicholas Allen's Indigo Blog

    Resolving Conflicts in Serialization

    • 2 Comments
    DataContractSerializer supports multiple serialization mechanisms. If more than one serialization mechanism is specified for the same type, which one gets used? Experimentation is the easiest way to figure out what happens. I'll look at different...
  • Nicholas Allen's Indigo Blog

    Cleaning up Async

    • 1 Comments
    There needs to be some concept of cleanup that takes place when an asynchronous request can't be completed. For example, when a service is shut down or a socket is closed you know that any asynchronous operation waiting on that resource will never get...
  • Nicholas Allen's Indigo Blog

    Detecting Metadata

    • 1 Comments
    How do I figure out during dispatch whether a request is destined to be a metadata request or a normal application request? The reason you might care whether a request in flight is for metadata or not is because of security policy. You might want...
  • Nicholas Allen's Indigo Blog

    Silent Security Failures

    • 1 Comments
    I'm using reliable messaging and getting an exception that the reliable session has faulted. It's the first exception that I see so I don't know why the session faulted. How do I know what went wrong? Here's the full error message: The underlying secure...
  • Nicholas Allen's Indigo Blog

    Localhost Common Name

    • 1 Comments
    What CN should I use when issuing a test certificate for a service? There are three types of names you'll commonly see: fully qualified domain names machine names (netbios) localhost These names are what work when connecting at internet...
  • Nicholas Allen's Indigo Blog

    Deriving from Bindings

    • 1 Comments
    When packaging up a collection of settings, how do I know whether to use a CustomBinding, extend the Binding class, or extend one of the standard binding classes? In most cases this should be easily decidable by asking at most two questions. The...
  • Nicholas Allen's Indigo Blog

    Printing Flexible Message Headers

    • 1 Comments
    When a message header supports multiple representations, which version is used when the message header is printed? A message header is a piece of data about the message that's carried on the wire somewhere apart from the message contents. When using...
  • Nicholas Allen's Indigo Blog

    Understanding MustUnderstand

    • 1 Comments
    The MustUnderstand attribute is frequently misunderstood because people assume that it must be much more complex and powerful than it really is. I explained the mechanics of using MustUnderstand last year but today's article is about some of the misconceptions...
  • Nicholas Allen's Indigo Blog

    Concurrent Channel Performance

    • 1 Comments
    Being thread-safe is different than being concurrent. The channel interfaces are thread-safe so that multiple callers can use them at the same time without getting garbled messages. However, if multiple callers try to send messages on a single channel...
  • Nicholas Allen's Indigo Blog

    Windows and UPN Format Credentials

    • 1 Comments
    There are many different formats for representing an identity. Some of the popular styles are distinguished names (CN=Name,OU=Users,DC=Domain), Windows (Domain\Name), and user principals (Name@Domain.com). The style you choose when setting the ClientCredentials...
  • Nicholas Allen's Indigo Blog

    Session Security

    • 1 Comments
    How often does authorization occur? Authorization is typically scoped to either messages or sessions. When authorization is scoped to messages, then an authorization request occurs each time a message is sent. When authorization is scoped to sessions...
  • Nicholas Allen's Indigo Blog

    2007 Year in Review

    • 1 Comments
    The year in review comes at the end of December rather than the beginning of January this year. Another year has gone by, with 250 articles posted so far (exactly as many as were posted during all of last year). Counting today and four more to come...
Page 1 of 1 (19 items)