Welcome to MSDN Blogs Sign in | Join | Help

January 2008 - Posts

Differences in Guid Serialization

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 you don't

30 Years of IP

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
Posted by Nicholas Allen | 1 Comments
Filed under:

Finding Data in Client Certificates

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 answer.

A Proxy Proxy Factory

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
Posted by Nicholas Allen | 3 Comments
Filed under: , , ,

Importing and Exporting WSDL Annotations

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 so

Reading Messages for Validation

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 an
Posted by Nicholas Allen | 2 Comments
Filed under: , ,

Debugging Framework Source

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

Throwing Exceptions from Service Authorization Manager

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

Controlling Certificate Validation

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

WCF Beta Exam Extended

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
Posted by Nicholas Allen | 1 Comments
Filed under: ,

Custom Cookie Handling

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
Posted by Nicholas Allen | 3 Comments
Filed under: ,

Flowing Additional Identity Information

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 contain

Not Omitting the XML Declaration

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 commonly

Custom Password Validation for HTTP

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

Suppressing Transactions During an Operation

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 done

Demanding Permissions

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. Restricting

What's New in Orcas

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 Foundation
Posted by Nicholas Allen | 2 Comments
Filed under: ,

Basing Authorization on the Message Body

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

Taking Action on Client Close

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

Accessing the Query String

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. MessageProperties

Get a Real XML Parser

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 than
Posted by Nicholas Allen | 1 Comments
Filed under: ,

25 Years of TCP/IP on the Internet

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
Posted by Nicholas Allen | 1 Comments
Filed under: ,
 
Page view tracker