Request Queues

How do I measure how busy a service is and how much work is queued up for later processing? There’s no single place where you can go to see all of the work items being processed by a service or a distributed system. For example, work may be queued up in a variety of locations….


HTML Design Principles

Earlier this week the W3C HTML working group published a list of design principles for working on HTML 5. HTML isn’t strictly relevant for a web services programmer but I figured that there was sufficient overlap that many people would find this work interesting. Here’s the list of principles, although you’ll have to follow the…


Using Supporting Tokens

How do I supply additional security tokens beyond those needed to sign and encrypt the message? How do I use those tokens on the service? The additional security tokens are configured through the binding. The client binding needs to be configured with the list of tokens that should be sent to the service. The service…


Uninstalling Visual Studio Betas

One of the least pleasant chores of getting Orcas everywhere has been cleaning out the old versions of software. If you’ve just been trying out the framework in the past, then it’s not too bad. I’ve been using Visual Studio 2008 betas everywhere in addition to the framework. All three of the machines I’ve upgraded…


Advertising Identity on the Server

What does adding an identity to a service endpoint do in configuration? When I tried it, nothing happened. The questioner is asking about supplying an endpoint identity in the configuration of a service. Here’s the configuration element we’re talking about, with some considerable editing to keep the example simple. <service> <endpoint address=”…” binding=”…” bindingConfiguration=”…” contract=”…”>…


Keeping up with Extension Versions

The documentation for behavior, binding element, and binding extensions in configuration says that using strong names to register types is recommended. Each time I build, the assembly version gets incremented, which changes the strong name. How can I develop an extension without having to change configuration files all the time? The simplest solution I’ve heard…


Orcas Released

The official release of the .NET Framework 3.5 took place Monday morning. As part of the download you get the new versions of WCF and WF, LINQ, and other additions to the framework as well. You’ll also get the first service packs for the 2.0 and 3.0 framework versions that include all of the fixes…


Serialization and Types

How does a DataContract type get initialized on the server? When I change the constructor for the type, nothing happens. Older serializers relied on calling the parameter-less constructor to initialize the type when deserializing data. Data contract types have all of the data members initialized to the default values without a constructor being called. However,…


Items in Brief

Here are a couple of quick news items that weren’t long enough to get a post of their own. Orcas: Earlier this month Somasegar announced that the final release will be out before the end of November. Within a few weeks of the release I’ll try to go over all of the new WCF messaging…


Controlling for Clock Skew

Message replay is an attack where a message is presented to a processor more than once in the hopes of fooling the processor into taking some action. One protection against message replay and other timing-based attacks is to have the sender timestamp messages. Security timestamps are only valid for a limited window of time, typically…