Nicholas Allen's Indigo Blog
Windows Communication Foundation From the Inside
Demanding Permissions
How do I restrict access to an operation to particular Windows users? There are three standard ways...
Author: Nicholas Allen Date: 01/10/2008
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...
Author: Nicholas Allen Date: 01/09/2008
Basing Authorization on the Message Body
How do I use a field in the message to answer an authorization request in...
Author: Nicholas Allen Date: 01/08/2008
Taking Action on Client Close
How do I clean up resources on the server when a duplex client closes its half of the connection?...
Author: Nicholas Allen Date: 01/07/2008
Accessing the Query String
How do I get access to the query string of an HTTP request when processing a message? The query...
Author: Nicholas Allen Date: 01/04/2008
Get a Real XML Parser
Today's post is more observational than informational. Enjoy. It's sometimes possible to write XML...
Author: Nicholas Allen Date: 01/03/2008
25 Years of TCP/IP on the Internet
On January 1st, 1983 the ARPANET officially switched over from using NCP (Network Control Protocol)...
Author: Nicholas Allen Date: 01/02/2008
Mapping Credentials to Authentication Schemes
You may have noticed that an HTTP binding is configured with an HttpClientCredentialType whereas an...
Author: Nicholas Allen Date: 12/31/2007
Controlling HTTP Connection Limits
I need to make many simultaneous HTTP calls to the same service from my client application. How do I...
Author: Nicholas Allen Date: 12/28/2007
Cleaning up Async
There needs to be some concept of cleanup that takes place when an asynchronous request can't be...
Author: Nicholas Allen Date: 12/27/2007
Sharing Contracts Across Services
I've deployed several services that share some of their data contracts. When I build a client...
Author: Nicholas Allen Date: 12/26/2007
2007 Year in Review
The year in review comes at the end of December rather than the beginning of January this year....
Author: Nicholas Allen Date: 12/21/2007
Session Security
How often does authorization occur? Authorization is typically scoped to either messages or...
Author: Nicholas Allen Date: 12/20/2007
Windows and UPN Format Credentials
There are many different formats for representing an identity. Some of the popular styles are...
Author: Nicholas Allen Date: 12/19/2007
Concurrent Channel Performance
Being thread-safe is different than being concurrent. The channel interfaces are thread-safe so that...
Author: Nicholas Allen Date: 12/18/2007
Understanding MustUnderstand
The MustUnderstand attribute is frequently misunderstood because people assume that it must be much...
Author: Nicholas Allen Date: 12/17/2007
Printing Flexible Message Headers
When a message header supports multiple representations, which version is used when the message...
Author: Nicholas Allen Date: 12/14/2007
Collections without CollectionDataContract
In the article about serialization conflicts, one of the points mentioned was that...
Author: Nicholas Allen Date: 12/13/2007
TCP Keep Alive
How do I detect when the other side of a TCP connection has gone away? Does TCP keep-alive take care...
Author: Nicholas Allen Date: 12/12/2007
Resolving Conflicts in Serialization
DataContractSerializer supports multiple serialization mechanisms. If more than one serialization...
Author: Nicholas Allen Date: 12/11/2007
Deriving from Bindings
When packaging up a collection of settings, how do I know whether to use a CustomBinding, extend the...
Author: Nicholas Allen Date: 12/10/2007
Localhost Common Name
What CN should I use when issuing a test certificate for a service? There are three types of names...
Author: Nicholas Allen Date: 12/07/2007
Silent Security Failures
I'm using reliable messaging and getting an exception that the reliable session has faulted. It's...
Author: Nicholas Allen Date: 12/06/2007
Detecting Metadata
How do I figure out during dispatch whether a request is destined to be a metadata request or a...
Author: Nicholas Allen Date: 12/05/2007
Shutting Down Service Hosts
How should I shut down a running service host? Here's a variety of attempts at answering the same...
Author: Nicholas Allen Date: 12/04/2007
Future of Silverlight
Late last week Scott Guthrie announced some of the plans for the next version of Silverlight. In...
Author: Nicholas Allen Date: 12/03/2007
Request Queues
How do I measure how busy a service is and how much work is queued up for later processing? There's...
Author: Nicholas Allen Date: 11/30/2007
HTML Design Principles
Earlier this week the W3C HTML working group published a list of design principles for working on...
Author: Nicholas Allen Date: 11/29/2007
Using Supporting Tokens
How do I supply additional security tokens beyond those needed to sign and encrypt the message? How...
Author: Nicholas Allen Date: 11/28/2007
Uninstalling Visual Studio Betas
One of the least pleasant chores of getting Orcas everywhere has been cleaning out the old versions...
Author: Nicholas Allen Date: 11/27/2007
Advertising Identity on the Server
What does adding an identity to a service endpoint do in configuration? When I tried it, nothing...
Author: Nicholas Allen Date: 11/26/2007
Keeping up with Extension Versions
The documentation for behavior, binding element, and binding extensions in configuration says that...
Author: Nicholas Allen Date: 11/21/2007
Orcas Released
The official release of the .NET Framework 3.5 took place Monday morning. As part of the download...
Author: Nicholas Allen Date: 11/20/2007
Serialization and Types
How does a DataContract type get initialized on the server? When I change the constructor for the...
Author: Nicholas Allen Date: 11/19/2007
Items in Brief
Here are a couple of quick news items that weren't long enough to get a post of their own. Orcas:...
Author: Nicholas Allen Date: 11/16/2007
Controlling for Clock Skew
Message replay is an attack where a message is presented to a processor more than once in the hopes...
Author: Nicholas Allen Date: 11/15/2007
Policy Primer Finalized
After six weeks of comments and editing the primer on WS-Policy 1.5 that I mentioned earlier has...
Author: Nicholas Allen Date: 11/14/2007
Network Monitor
Exciting developments in the world of network traffic capture and protocol analysis. Microsoft...
Author: Nicholas Allen Date: 11/13/2007
Differences Between WSDL and XSD
Obviously WSDL and XSD are two entirely different description languages, but I was looking at the...
Author: Nicholas Allen Date: 11/12/2007
Only 117 Days until MIX
MIX 2008 is returning to Las Vegas during March 5th through 7th of next year. Although it seems...
Author: Nicholas Allen Date: 11/09/2007
Setting a User Principal on the Endpoint
How do I set the user principal name that the client will use when calling the service? The user...
Author: Nicholas Allen Date: 11/08/2007
A Call to SSPI Failed
Rather than talking about the solution to one specific question, today's article is about asking...
Author: Nicholas Allen Date: 11/07/2007
Further Advances in Basic Profile
Two new drafts came out of the Basic Profile working group last week. For those not familiar with...
Author: Nicholas Allen Date: 11/06/2007
Custom Transport Retry Logic
What are the best practices for building retry logic around network transport failures? Let's define...
Author: Nicholas Allen Date: 11/05/2007
Detecting ASP.NET Compatibility
How can I find out whether my service is running in ASP.NET compatibility mode? Why do you need to...
Author: Nicholas Allen Date: 11/02/2007
Ignoring Bad Requests
I have a one-way operation that processes requests and can sometimes fail. When the operation fails,...
Author: Nicholas Allen Date: 11/01/2007
Checking for ServiceSecurityContext
When authorizing a client, how do I tell the difference between a connection with anonymous security...
Author: Nicholas Allen Date: 10/31/2007
Better Proxy Clients
I was in a meeting last week with a few WCF users at Microsoft when they asked about performance...
Author: Nicholas Allen Date: 10/30/2007
Videos from MIX UK
Session videos from the UK version of the 2007 MIX conference are now available for download. Go to...
Author: Nicholas Allen Date: 10/29/2007
Substituting for TryAccept
We're back to the channel pump for another round. In the previous channel pump article we had...
Author: Nicholas Allen Date: 10/26/2007