Adding full (working) code from a linked blog - if this blog disappears
HttpApplication objApp = (HttpApplication)HttpContext.Current.ApplicationInstance; HttpRequest Request = (HttpContext)objApp.Context.Request; //get a reference NameValueCollection headers = Request.Headers; //get a type Type t = headers.GetType(); System.Collections.ArrayList item = new System.Collections.ArrayList(); t.InvokeMember("MakeReadWrite",BindingFlags.InvokeMethod | BindingFlags.NonPublic | BindingFlags.Instance,null,headers,null); t.InvokeMember("InvalidateCachedArrays",BindingFlags.InvokeMethod | BindingFlags.NonPublic | BindingFlags.Instance,null,headers,null); item.Add("CUSTOM_HEADER_VALUE"); t.InvokeMember("BaseAdd",BindingFlags.InvokeMethod | BindingFlags.NonPublic | BindingFlags.Instance,null,headers, new object[]{"CUSTOM_HEADER_NAME",item}); t.InvokeMember("MakeReadOnly",BindingFlags.InvokeMethod | BindingFlags.NonPublic | BindingFlags.Instance,null,headers,null);
source share