• C# Request中修改header信息


    var headers = app.Context.Request.Headers;
    Type hdr = headers.GetType();
    PropertyInfo ro = hdr.GetProperty("IsReadOnly", 
        BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.IgnoreCase | BindingFlags.FlattenHierarchy);
    // Remove the ReadOnly property
    ro.SetValue(headers, false, null);
    // Invoke the protected InvalidateCachedArrays method 
    hdr.InvokeMember("InvalidateCachedArrays", 
        BindingFlags.InvokeMethod | BindingFlags.NonPublic | BindingFlags.Instance, 
        null, headers, null);
    // Now invoke the protected "BaseAdd" method of the base class to add the
    // headers you need. The header content needs to be an ArrayList or the
    // the web application will choke on it.
    hdr.InvokeMember("BaseAdd", 
        BindingFlags.InvokeMethod | BindingFlags.NonPublic | BindingFlags.Instance, 
        null, headers, 
        new object[] { "CustomHeaderKey", new ArrayList {"CustomHeaderContent"}} );
    // repeat BaseAdd invocation for any other headers to be added
    // Then set the collection back to ReadOnly
    ro.SetValue(headers, true, null);
  • 相关阅读:
    web服务器
    javascript对象属性为空的判断
    字符编码:ASCII,Unicode和UTF-8
    javascript 中英文字符长度和截断处理
    函数节流与去抖
    互联网协议
    解读 v8 排序源码
    乱序
    递归
    函数记忆
  • 原文地址:https://www.cnblogs.com/yuxiaoyu/p/6192511.html
Copyright © 2020-2023  润新知