博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
.net 高级写法总结
阅读量:4322 次
发布时间:2019-06-06

本文共 1331 字,大约阅读时间需要 4 分钟。

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);                           }

  

转载于:https://www.cnblogs.com/ransom/p/10370140.html

你可能感兴趣的文章
android 构建数据库SQLite
查看>>
单工、半双工和全双工的定义
查看>>
Hdu【线段树】基础题.cpp
查看>>
时钟系统
查看>>
BiTree
查看>>
5个基于HTML5的加载动画推荐
查看>>
水平权限漏洞的修复方案
查看>>
静态链接与动态链接的区别
查看>>
Android 关于悬浮窗权限的问题
查看>>
如何使用mysql
查看>>
增强一个对象的方法(继承、装饰者模式、动态代理)
查看>>
十一、多线程——8-线程池
查看>>
四、基础类库中的常用类——4-国际化与格式化
查看>>
Anders Hejlsberg访谈:Checked Exceptions的问题
查看>>
revit api 使用过滤器
查看>>
几日工作记录
查看>>
linux下wc命令详解
查看>>
敏捷开发中软件测试团队的职责和产出是什么?
查看>>
在mvc3中使用ffmpeg对上传视频进行截图和转换格式
查看>>
python的字符串内建函数
查看>>