private void AddHeader(ref System.ServiceModel.Channels.Message request, string headerKey, string value)
{
HttpRequestMessageProperty property;
object propertyObject;
if (request.Properties.TryGetValue(HttpRequestMessageProperty.Name, out propertyObject))
{
property = propertyObject as HttpRequestMessageProperty;
if (!property.Headers.AllKeys.Contains(headerKey))
{
property.Headers.Add(headerKey, value);
}
}
else
{
HttpRequestMessageProperty messageProperty = new HttpRequestMessageProperty();
request.Properties.Add(HttpRequestMessageProperty.Name, messageProperty);
if (!messageProperty.Headers.AllKeys.Contains(headerKey))
{
messageProperty.Headers.Add(headerKey, value);
}
}
}
}