Nicholas Allen's Indigo Blog

Windows Communication Foundation From the Inside

January, 2008

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

    Differences in Guid Serialization

    • 5 Comments
    Why do the guids in my contract turn into strings when generating a client? You're probably mixing different types of serializers between the client and service. There's nothing wrong with this and the generated client will work correctly but...
  • Nicholas Allen's Indigo Blog

    30 Years of IP

    • 1 Comments
    In January 1978, Vint Cerf and Jon Postel released a draft for Version 3 of the Specification of Internetwork Transmission Control Program (I'll just refer to it as TCP-3). TCP-3 is an ancestor of the modern TCP/IP protocol and this draft is the first...
  • Nicholas Allen's Indigo Blog

    Finding Data in Client Certificates

    • 1 Comments
    Can I pass additional user data, such as identity information, in a message secured with a client certificate? This question looks like an earlier one about Windows credentials but has some subtle differences that make it come out with a different...
  • Nicholas Allen's Indigo Blog

    A Proxy Proxy Factory

    • 3 Comments
    I have a system that sometimes uses a fast local object and sometimes needs to communicate over a network. I have built a proxy object that wraps the proxy factory for creating typed proxies together with a proxy factory for creating local objects. Are...
  • Nicholas Allen's Indigo Blog

    Importing and Exporting WSDL Annotations

    • 2 Comments
    How do I add custom annotations to the contracts that are generated from WSDL? You first need to start with an IWsdlImportExtension. Your extension gets called each time a contract is discovered during import. Processing happens in multiple passes...
  • Nicholas Allen's Indigo Blog

    Reading Messages for Validation

    • 2 Comments
    How do I perform XML validation against an entire message? There is a method to read the body of the message but it's only possible to read headers one at a time. Although it sounds more complicated than it really is, a straightforward way to read...
  • Nicholas Allen's Indigo Blog

    Debugging Framework Source

    • 0 Comments
    Other people have told me they're now successfully debugging into .NET Framework source code although I haven't gotten it to work. The program currently doesn't cover WCF although it does give you access to source for many common framework classes that...
  • Nicholas Allen's Indigo Blog

    Throwing Exceptions from Service Authorization Manager

    • 2 Comments
    When writing your own service authorization manager, you override the CheckAccess or CheckAccessCore methods to put in your logic for granting access. CheckAccess returns a boolean, which means that the options for expressing yourself are limited. If...
  • Nicholas Allen's Indigo Blog

    Controlling Certificate Validation

    • 2 Comments
    How do I configure the validation process for certificates specified in the service credentials section? There are several configuration settings for controlling certificate validation although they appear in different places depending on what credentials...
  • Nicholas Allen's Indigo Blog

    WCF Beta Exam Extended

    • 1 Comments
    The beta period for certification exams on the Orcas releases of the foundation technologies (WCF, WPF, and WF) has been extended. Depending on your location you might still be able to grab a seat for next week to take one of these exams. Full details...
  • Nicholas Allen's Indigo Blog

    Custom Cookie Handling

    • 3 Comments
    Cookies are the de facto correlation protocol for web applications, which means HTTP applications rather than SOAP. Most uses of cookies in web services are quite simplistic with the standard cookie container behavior sufficiently up to the task of handling...
  • Nicholas Allen's Indigo Blog

    Flowing Additional Identity Information

    • 4 Comments
    I want to provide some additional information about the user within the client credentials. Can I do this with Windows credentials? No. Although you can create custom claims and try attaching them to the credentials, the credentials on the wire only...
  • Nicholas Allen's Indigo Blog

    Not Omitting the XML Declaration

    • 1 Comments
    Why doesn't a message start with an XML declaration? The XML declaration is a processing instruction at the beginning of an XML document that gives information about the format and logical structure of the document. You've probably seen the most...
  • Nicholas Allen's Indigo Blog

    Custom Password Validation for HTTP

    • 1 Comments
    Phil Henning has written about creating a custom username/password validator for HTTP , which is another new feature in Orcas. Like getting access to client IP addresses , creating a custom password validator is a feature added as a result of direct customer...
  • Nicholas Allen's Indigo Blog

    Suppressing Transactions During an Operation

    • 1 Comments
    Service operations have a declarative attribute for automatically placing the operation within a transaction. Is it possible to do non-transactional work within a transacted operation without having to do everything by hand? Yes. This is most easily...
  • Nicholas Allen's Indigo Blog

    Demanding Permissions

    • 2 Comments
    How do I restrict access to an operation to particular Windows users? There are three standard ways of doing something in WCF: through code, through attributes, and through configuration. Let's try to solve the problem using each of these methods....
  • Nicholas Allen's Indigo Blog

    What's New in Orcas

    • 2 Comments
    The official list is a little hard to find but here's the overview of the big new WCF features in Orcas. WCF and WF Integration-Workflow Services: The .NET Framework 3.5 unifies the Windows Workflow Foundation (WF) and Windows Communication...
  • Nicholas Allen's Indigo Blog

    Basing Authorization on the Message Body

    • 2 Comments
    How do I use a field in the message to answer an authorization request in ServiceAuthorizationManager? There are two ways to go about doing this. The first makes use of a new feature in Orcas while the other is potentially more flexible and definitely...
  • Nicholas Allen's Indigo Blog

    Taking Action on Client Close

    • 1 Comments
    How do I clean up resources on the server when a duplex client closes its half of the connection? Duplex services sometimes need to be a little bit more aggressive cleaning up after clients. Unlike with other channel shapes, a duplex client can decide...
  • Nicholas Allen's Indigo Blog

    Accessing the Query String

    • 4 Comments
    How do I get access to the query string of an HTTP request when processing a message? The query string isn't one of the properties available on the new WebOperationContext but you can still get access to it through the HTTP request message property...
  • Nicholas Allen's Indigo Blog

    Get a Real XML Parser

    • 1 Comments
    Today's post is more observational than informational. Enjoy. It's sometimes possible to write XML without having an XML library. If your XML documents are sufficiently similar and templated, then you can craft validly formed XML through little more...
  • Nicholas Allen's Indigo Blog

    25 Years of TCP/IP on the Internet

    • 1 Comments
    On January 1st, 1983 the ARPANET officially switched over from using NCP (Network Control Protocol) to TCP/IP (Transmission Control Protocol over Internet Protocol). This followed a year where the ARPANET supported a mix of NCP and TCP/IP machines using...
Page 1 of 1 (22 items)