强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan

【引言】

之前自己对系统进行了熟悉,现在自己开始做新的模块!上先来这是个查询的功能:自己就捋思路,由于之前有类似的模块,实现起来就是照葫芦画瓢就行,主要就是sql语句的编写。功能不是很复杂就不再此赘述,不过在实现的时候遇到一个解决数据量的问题倒蛮有意思,在此与大家共享。

【内容】

基础:系统前台应用的是MVC3+Miniui!

问题再现:

(1)进入查询模块后会自动根据默认的条件查询出数据:

(2)将查询日期提前一个月再次查询:

(3)Controller中的代码实现:

解决思路:

通过上面描述问题出来了:查询3260条数据的时候没什么事儿,当查询数据量是29010条(用的查询sql语句在数据库中查)时就出问题!于是根据查询一条线的流程来判断问题有可能出在三个方面:一是后台查询出了问题;二是前台的Miniui承受不住这么大的数据显示;三是Json转的时候出问题;有了思路马上就去实验解决问题:

(1)设置断点进行单步调试排除后台查数据可能性:

(2)上网上查Miniui中datagried显示最多限制没有查到具体数据,不过自己想既然应用这么广不到3万数据量都显示不了未免说不过去。于是将第二个猜测也暂时放一放!

(3)直接在百度上搜上面问题展示中的报错信息—使用 JSON JavaScriptSerializer 进行序列化或反序列化时出错。字符串的长度超过了为 maxJsonLength 属性设置的值!果然有很多关于这个问题的解决方案:

①其中最为普遍的是:

web.config的节点下添加:

<system.web.extensions><scripting><webServices><jsonSerialization maxJsonLength="1024000000" /></webServices></scripting>
</system.web.extensions>

然而这样做之后并没有解决问题!

②继续探索:

又找到一种解决方案,将代码改成这样:

果然成功:

分析&思考:虽然问题解决了,但是本着知其然,知其所以然的精神,又在网上查阅很多相关资料,对这个问题有了更加深入的理解:

(1)为什么会有这个错?

MVC框架内置的JsonResult代码中,在使用JavaScriptSerializer时,都是采用的默认值(参考:http://weblogs.asp.net/rashid/archive/2009/03/23/submitting-my-first-bug-after-asp-net-mvc-1-0-rtm-release.aspx)也就是MVC3自己带的Json的长度是有限的,需要修改一下长度!

(2)修改为Int32.MaxValue它是多大那?自己设了个断点自己测了测(见下图)蛮大的够系统目前用的了!

(3)把它的大小定义大了对性能有没有影响那?用系统反复做了测试加载3000多条数据的时候没有体现出差别。

(4)那么为什么MVC自定义的时候把它定义小了?暂时没有找到很好的答案,自己个人猜测可能是考虑到占用空间大小吧!也希望有研究的朋友给予指导。

【总结】

不要把工作只当工作来做,怀揣着一颗求知的心去探索会发现有许多意想不到的收获!带着求真求知的欲望去解决问题,会发现原来这么有意思。

相信自己会在探索求知的路上越走越远!

SCPPO(五):解决MVC中Json传输数据量问题相关推荐

  1. 解决MVC返回Json中日期格式问题

    问题:MVC中使用控制器返回JsonResult,如果带有日期字段的对象,浏览器接收到的json中会变成形如/Date('123123123')/格式.如何在easyui等中直接使用是个麻烦事. 解决 ...

  2. MVC中JSON字符长度超出限制的异常处理

    异常信息如下: 使用 JSON JavaScriptSerializer 进行序列化或反序列化时出错.字符串的长度超过了为 maxJsonLength 属性设置的值. 这个异常是在执行MVC中的Jso ...

  3. 解决PHP中JSON中文乱码的几种方法

    在开发过程中,我们知道在使用Ajax技术与PHP后台交互时,中文乱码是常有的事,JSON作为与XML类似的数据交换格式,在PHP用来进行交互时也会出现中文乱码的情况,解决PHP JSON中文乱码的方法 ...

  4. JAVA中使用 com.csvreader.CsvWriter 类时如何解决文件中JSON内容写出时字符串内容的转义问题?

    前言: 当我使用 com.csvreader.CsvWriter 对 .csv 后缀格式文件内容进行写入时,发现所有带有 字符串 内容的字段信息都会默认加上转义字符. 文件生成后,输出的结果不是我想要 ...

  5. TypeError: keys must be str, int, float, bool or None, not tuple,解决 python 中 json 保存不了字典键值为 元组 的问题

    >>> a = {('0xFFFA', 11): 32, ('0x00F3', 1): 1, ('0xFFFA', 2): 42} {('0xFFFA', 1): 32, ('0x0 ...

  6. 五、Mysql中JSON类型

    文章目录 JSON类型 JSON入门 JSON 函数 JSON_OBJECT 将对象转为 json json_insert 插入数据 json_merge 合并数据并返回 其他函数: JSON 索引 ...

  7. 解决MVC Json序列化的循环引用问题/EF Json序列化循引用问题---Newtonsoft.Json

    1..Net开源Json序列化工具Newtonsoft.Json中提供了解决序列化的循环引用问题: 方式1:指定Json序列化配置为 ReferenceLoopHandling.Ignore 方式2: ...

  8. mvc ajax post json数据,springmvc解决ajax post json格式数据的跨域问题

    前言:今天解决js跨域,搞了一下午,呜呜,以下是我整理的一些解决方法. Paste_Image.png JsonTest click me var jsonData = JSON.stringify( ...

  9. MVC中使用Action全局过滤器出现:网页无法正常运作 将您重定向的次数过多。解决办法

    今天用本地测试出现将您重定向的次数过多的错误提示,搜索到这篇文章,大概看懂了意思. 我自己的是tp的登录页面提示重定向,我查到问题是logincontroller.class.php 前面继承了com ...

最新文章

  1. Windows socket c++ TCP UDP 简单客户端 vs2013
  2. __FUNCTION__, __FILE__, __LINE__ (原)
  3. 机器学习——深度学习之编程工具、流行网络结构、卷积神经网络结构的应用
  4. 关于产品经理如何准备面试,我有三点想法
  5. 语音识别是如何识别出各地方言的?
  6. linux系统安装coerplayer,安装deepin~
  7. Flex 得到一个对象的所有属性
  8. 在手机上抓包HTTP/HTTPS的请求
  9. java ftp下载文件夹下的所有文件_ftp下载文件夹下的文件,从ftp下载某一文件夹下的所有文件...
  10. java 拼音识别_java 解析汉字拼音
  11. 【ERP软件】ERP体系二次开发有哪些危险?
  12. 桌面虚拟化中RDS、VDI、IDV、VOI主流的云桌面技术比较
  13. UTRAN Iub接口介绍
  14. qq系统软件测试计划,软件测试设计报告案例——qq空间.doc
  15. MT6737/MT6737T/MT6737M处理器参数差异分析资料
  16. 根据现在的时区,判断其他时区的时间,包含夏令时。
  17. 国外著名大学(计算机,通信及电子方面学院)
  18. 青少年软件编程(Python)等级考试试卷(一级)
  19. windows xp系统本地磁盘图标发生变化——5种解决方法
  20. 【人工智能】Rutgers大学熊辉教授:《易经》如何指导我们做人工智能;这里有一篇深度强化学习劝退文

热门文章

  1. 你真的知道 Python 字符串怎么用吗?
  2. 人工智能为什么要从本科生抓起?
  3. 计算机组成原理第二次小组讨论课,巢湖电大开放教育计算机科学与技术(doc 6页).doc...
  4. mysql通配符like,不吃透都对不起自己
  5. java keypad game,关于java:Custom Keypad – 如何使这些按钮正常工作?
  6. openquery 如果执行存储过程_ORA-01502--记一次数据库索引失效导致执行存储过程出错...
  7. phython拟合曲面方程_python数据关系型图表散点图系列曲面拟合图
  8. useEffect和useLayoutEffect区别
  9. vue3中这几个变化你要注意了
  10. Vue 3.0已进入发布候选阶段!