zoukankan      html  css  js  c++  java
  • .net 高级写法总结

    1、处理HTTP非正常的请求参数:

      [1] 获取相应的流转为string

           [2] request 的只读属性设置为可编辑,类似form

           [3] 转换为json对象

           [4] 重设只读属性

       //判断请求类似如果不是form类型而是application/json;charset=UTF-8
                if(HttpContext.Current.Request.ContentType.IndexOf("application/json")>-1)
                {
                    byte[] byts = new byte[HttpContext.Current.Request.InputStream.Length];
                    HttpContext.Current.Request.InputStream.Read(byts, 0, byts.Length);
                    string jsonText = System.Text.Encoding.Default.GetString(byts);
                    jsonText = HttpContext.Current.Server.UrlDecode(jsonText);
                    JObject jo = (JObject)JsonConvert.DeserializeObject(jsonText);
    
                    //构造只读集合
                    PropertyInfo formreadonly = typeof(System.Collections.Specialized.NameValueCollection).GetProperty("IsReadOnly", BindingFlags.Instance | BindingFlags.NonPublic);
                    //设置form 为可编辑
                    formreadonly.SetValue(HttpContext.Current.Request.Form, false, null);
    
                    foreach(var p in jo.Properties())
                    {
    
                        HttpContext.Current.Request.Form.Add(p.Name,p.Type.Equals(JTokenType.String)?p.Value.ToString():null);
                    }
    
                    formreadonly.SetValue(HttpContext.Current.Request.Form, true, null);
                   
                }
    

      

  • 相关阅读:
    正斜杠/和反斜杠的区别
    Ghost文件封装说明
    装机自动化脚本介绍
    ubuntu 11.04侧边栏怎么添加图标
    samba的安装和配置
    vim使用大全
    ubuntu中运行python脚本
    ubuntu中使用usb-creator制作live usb
    ubuntu中安装ftp服务器
    ubuntu命令查询版本和内核版本
  • 原文地址:https://www.cnblogs.com/ransom/p/10370140.html
Copyright © 2011-2022 走看看