Wie lese ich HTTP-Anforderungsheader in einem WCF-Webdienst?

Wie liest man in einem WCF-Webdienst einen HTTP / HTTPS-Anforderungsheader? In diesem Fall versuche ich, den ursprünglichen URL-Host des verwendeten Clients zu ermitteln. Dies kann im X-Forwarded-Host-Header eines Lastenausgleichs oder im Host-Header, wenn es sich um eine Direktbox handelt, erfolgen.

ich habe es versuchtOperationContext.Current.IncomingMessageHeaders.FindHeader aber ich denke, das ist bei SOAP-Headern als HTTP-Headern suchen.

Also, wie lese ich HTTP-Header? Dies ist sicherlich eine einfache Frage, und mir fehlt etwas Offensichtliches.

Die Antwort von EDIT - @ sinfere war fast genau das, was ich brauchte. Der Vollständigkeit halber habe ich Folgendes gefunden:

IncomingWebRequestContext request = WebOperationContext.Current.IncomingRequest;
WebHeaderCollection headers = request.Headers;
string host = null;

if (headers["X-Forwarded-Host"] != null)
    host = headers["X-Forwarded-Host"];
else if (headers["Host"] != null)
    host = headers["Host"];
else 
    host = defaulthost; // set from a config value

Antworten auf die Frage(2)

Ihre Antwort auf die Frage