Hier eine kleine Anmerkung zu einem kleinen Ärgernis, AKA ungooglebarer Fehler:
Man betreibt man eine Site oder einen Webservice mit dem IIS (Version 7 in meinem Fall) möchte man in seltenen Fällen im Code explizit den StatusCode setzen. Das kann z.B. so aussehen:
WebOperationContext.Current.OutgoingResponse.StatusCode = System.Net.HttpStatusCode.ServiceUnavailable;
Diese Zeile führt dazu, dass der Aufrufer 503 Busy zurückerhält. Neulich hatte ich die Situation, dass der Client stattdessen immer 500 bekam und die betr. Zeile ignoriert wurde. Weshalb? Es war zum Verrücktwerden. Offensichtlich war folgender Abschnitt in der web.config dafür verantwortlich:
<system.webServer>
<httpErrors errorMode="Custom" />
<system.webServer>