Multiple Site Bindings

A WCF application in IIS is a service page that is hosted under a site. You can assign different bindings to the site that describe the protocols through which the site can communicate. It’s possible to assign multiple protocols to a single site by specifying bindings that have different protocol schemes. It’s also possible to…


HTTPS Host Name for IIS

The configuration of an IIS site includes the ability to associate a host name with a particular site definition. For HTTP traffic this allows multiple web sites to be hosted at the same IP address and port, with the true domain name of the site mapped using the host name header. For example, if you…


Network Tracing Betas

Two frequently used network diagnostic tools have gotten beta updates this week. Network Monitor is an adapter level capture program that can record and analyze protocol traces. If you join the Connect beta program for Network Monitor 3 you can get access to the latest Network Monitor 3.4 beta release. Network Monitor 3.4 has a…


Rolling Your Own Status

I’m trying to use an HTTP method that has defined a private protocol for status code. What can I do if the HttpStatusCode class doesn’t have the necessary value? The HttpStatusCode enumeration contains predefined constants for the status codes described by the HTTP 1.1 standard. Here you can take advantage of the fact that an…


Legacy Created, Obsoleted, and Destroyed Before Shipping

As far as I can tell there has never been a description of what the mysterious LegacyExtendedProtectionPolicy property is for that appeared on the HTTP and TCP transports and is now slowly in the process of disappearing. In the small number of places it appeared the property has been marked as obsolete. Extended protection policy…


Fix for HTTP Configuration Errors using WebScriptEnablingBehavior

I’ve sufficiently recovered from running the last week-long series covering fixes for WCF to do another one. This week I’ll again be covering fixes for WCF that may be hard to find and explaining the details behind each problem. When using the WebScriptEnablingBehavior to create an AJAX service, the service endpoint is given an accompanying…


ASP.NET MVC 2 Released for Visual Studio 2008

Ok, a release of ASP.NET MVC 2 coming soon turned out to mean coming extremely soon. I had been holding off talking about the ASP.NET MVC 1 to ASP.NET MVC 2 migration tool until it was done and that ended up being much closer to the release than I expected when I wrote the article….


Fix for Partially Trusted Clients using Windows Authentication

This week I’ll be running a series covering fixes for WCF that may be hard to find and explaining the details behind each problem. Connection sharing is a performance optimization to pool HTTP connections between multiple calls. Ordinarily, connections are not allowed to be shared if they use Windows authentication to identify the caller. WCF…


Fix to Allow Customizing the Status Code when Validation Fails

This week I’ll be running a series covering fixes for WCF that may be hard to find and explaining the details behind each problem. This next fix is actually to add a new feature when writing a UserNamePasswordValidator. A UserNamePasswordValidator gives you a callback method called Validate that takes user name and password parameters supplied…


Fix for HTTP Startup Hang

WCF uses the http.sys kernel-mode http driver on most platforms to receive HTTP messages. The kernel-mode driver allows different services to share the same port for HTTP communication and, when running in IIS, allows messages to be received while the service is dormant. The http.sys driver is configured to automatically start so that it can…