Nicholas Allen's Indigo Blog

Windows Communication Foundation From the Inside

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

    Checking for ServiceSecurityContext

    • 1 Comments
    When authorizing a client, how do I tell the difference between a connection with anonymous security and a connection with no security? Anonymous security turns out to offer a surprising amount of protection even though you have no idea who the caller...
  • Nicholas Allen's Indigo Blog

    Better Proxy Clients

    • 0 Comments
    I was in a meeting last week with a few WCF users at Microsoft when they asked about performance issues creating client proxies. The first service pack for WCF, which ships at the same time as Orcas, includes some performance fixes for the most frequently...
  • Nicholas Allen's Indigo Blog

    Videos from MIX UK

    • 0 Comments
    Session videos from the UK version of the 2007 MIX conference are now available for download. Go to the session schedule page for the conference and choose to either watch or download videos for the sessions that are available. It looks like about two...
  • Nicholas Allen's Indigo Blog

    Substituting for TryAccept

    • 1 Comments
    We're back to the channel pump for another round. In the previous channel pump article we had introduced an asynchronous coroutine between the main channel pump loop and a callback on acquiring a channel throttle. This use of coroutines let us suspend...
  • Nicholas Allen's Indigo Blog

    No Session Before Sending

    • 1 Comments
    When you create a sessionful channel, that implies the existence of some correlation factor for all of the messages that are associated with the session. For example, the correlation factor for a TCP session is that all of the messages travel over the...
  • Nicholas Allen's Indigo Blog

    When Certificates are Required

    • 1 Comments
    I'm trying to use a username and password with message security but I'm being told that I need to have a certificate on the client or the server depending on the configuration. Is it possible to send username credentials without issuing a certificate...
  • Nicholas Allen's Indigo Blog

    Extensibility

    • 1 Comments
    One of the frequently repeated phrases around SOA development is that SOA allows you to build composite applications that span heterogeneous environments. It's tough to put a perspective on how heterogeneous an environment can be until you look at surveys...
  • Nicholas Allen's Indigo Blog

    SOA & Business Process Conference Next Week

    • 3 Comments
    Microsoft is hosting a conference on SOA and Business Processes here in Redmond next week running from October 29th to November 2nd. It looks like the final agenda is now available at the conference website for those of you that are attending and want...
  • Nicholas Allen's Indigo Blog

    Best Practice for Channel Shapes

    • 1 Comments
    The hierarchy of channels derives from the single interface IChannel. By itself, IChannel is not particularly interesting because it doesn't introduce any new methods for communication. Each channel shape, such as IInputChannel or IDuplexSessionChannel...
  • Nicholas Allen's Indigo Blog

    Controlling HTTP Caching

    • 3 Comments
    Is HttpResponse.Cache the preferred way to control caching? HttpResponse is only available in ASP.NET compatibility mode. No, you don't need ASP.NET compatibility mode to set cache headers. In fact, almost everything from HttpResponse can be done...
  • Nicholas Allen's Indigo Blog

    Body is a Stream

    • 5 Comments
    I've answered this question before but it continues to keep being asked so I'll answer it again. This comes up most often when someone is trying to log messages, either through the official message logging feature or on their own by calling ToString....
  • Nicholas Allen's Indigo Blog

    Shutting Down a Channel

    • 4 Comments
    A common corner-case in programming is what happens when multiple operations are attempted at the same time. One way to avoid the troubles of this corner-case is to simply prohibit having multiple operations occur simultaneously. However, it typically...
  • Nicholas Allen's Indigo Blog

    Configuring SSL Certificates for Windows Vista

    • 5 Comments
    The documentation for configuring a port with an SSL certificate shows example commands using the httpcfg.exe program. Starting with Windows Vista, httpcfg.exe was replaced in function by the netsh program that comes with the operating system. This is...
  • Nicholas Allen's Indigo Blog

    Two Videos on Orcas

    • 0 Comments
    With all the things that were happening during the summer, I evidently missed out on two Channel 9 videos that were done on the Orcas version of WCF. These cover some of the features that are new in the upcoming .Net Framework 3.5 release. In the...
  • Nicholas Allen's Indigo Blog

    AtomPub RFC Released

    • 0 Comments
    There's a newly minted RFC 5023 out this week covering the Atom Publishing Protocol. AtomPub is an application protocol for drafting and publishing a collection of documents over HTTP. It comes almost two years after the related Atom XML syndication format...
  • Nicholas Allen's Indigo Blog

    ContractNamespaceAttribute

    • 1 Comments
    Back when I did an overview of custom namespaces , I omitted any namespace declarations that wouldn't appear in the final metadata. One of those declarations is the default namespace for data contracts. I had two example data contracts, one for faults...
  • Nicholas Allen's Indigo Blog

    Unblocking Flow Throttles

    • 3 Comments
    Last time, we were looking at how to control flow through a channel pump by introducing the concept of a throttle. The implementation of the throttle was a semaphore, allowing us to limit the number of channels active in the system at any point in time...
  • Nicholas Allen's Indigo Blog

    Flow Throttles

    • 2 Comments
    When programming using channels, the common usage pattern for the server is to sit in a loop accepting channels. This loop, sometimes called a pump, cycles through each time accepting a channel and initiating some work. Let's look at the most basic channel...
  • Nicholas Allen's Indigo Blog

    Server.MapPath

    • 8 Comments
    How do I use % Feature X% from ASP.NET in a WCF service? ASP.NET has an HTTP-centric application model with many great features specialized for web development in IIS. WCF is transport and host agnostic. Out of the box, WCF supports most of the...
  • Nicholas Allen's Indigo Blog

    Stripping Out Extra Endpoints

    • 1 Comments
    I want my service to have a set of endpoints that are conditionally enabled. Is it possible to put all of the endpoint definitions in a single configuration file rather than changing configuration depending on the conditions? Due to the design of...
  • Nicholas Allen's Indigo Blog

    SOAP Extensions

    • 1 Comments
    What replacement in WCF should I be using for an ASP.NET SoapExtension? A SOAP extension is an extensibility point in ASMX that allows processing of SOAP messages during sending and receiving. WCF has many extensibility points for processing messages...
  • Nicholas Allen's Indigo Blog

    Always Begin with Accept

    • 1 Comments
    Inside a service, there's a fundamental loop running whose job it is to create channels for the incoming connections to the service. There's another loop that runs later, which you may argue is equally fundamental, that reads messages from each channel...
  • Nicholas Allen's Indigo Blog

    Help for Policy Authors

    • 0 Comments
    The W3C Web Services Policy Working Group is putting together a pair of documents to help policy users and authors with the new version of WS-Policy. This includes an explanation of how policy works and best practices for policy authors. There's currently...
Page 1 of 1 (23 items)