В веб-службе WCF, как вы читаете заголовок запроса HTTP/HTTPS? В этом случае я пытаюсь определить исходный URL-адрес хоста, используемого клиентом. Это может быть в заголовке X-Forwarded-Host из балансировщика нагрузки или в заголовке хоста, если это direct-box.
Я пробовал OperationContext.Current.IncomingMessageHeaders.FindHeader
, но я думаю, что это относится к заголовкам SOAP, а не к HTTP-заголовкам.
Итак, как читать заголовки HTTP? Наверняка, это простой вопрос, и я пропускаю что-то очевидное.
EDIT - ответ @sinfere был почти точно тем, что мне нужно. Для полноты, вот что я закончил с:
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