MaxJsonLength总是设置为最大值是否安全?
本文关键字:是否 安全 最大值 设置 MaxJsonLength | 更新日期: 2023-09-27 18:15:44
我有一个控制器,它返回填充视图中网格的json
。根据过滤器的不同,用户可以在一次调用中检索大量数据,因此我将MaxJsonLength设置为max:
var jsonResult = Json(result, JsonRequestBehavior.AllowGet);
jsonResult.MaxJsonLength = int.MaxValue;
我的问题是,总是将MaxJsonLength
设置为最大值是安全的吗?它的缺点是什么?(如果有的话)
我找到了这个相关的帖子,但它没有回答我的问题。
MaxJSONlength的好处是什么?
我需要你的专业知识。提前感谢!我不认为这是一个好主意,设置它为MaxValue
在每次呼叫。这并不意味着它会破坏你的应用程序,但它可能使你的应用程序看起来有问题。
我曾经遇到过同样的问题——在某些情况下,用户可能要求更大的数据集。大约10-50兆,通过互联网连接,而不是局域网。没有什么是不可能的,你可以发送这样的数据集。但是您的应用程序将非常慢。浏览器将等待数据,用户将在页面可用之前等待很长时间,这反过来导致他们做一些愚蠢的事情,比如到处点击,咒骂和报告应用程序中的错误。真的是虫子吗?这要看你的要求,不过我同意。
您可以而且应该做的是提供分页。向用户发送小数据集,立即显示它们,允许用户处理它们,然后根据需要发送额外的数据。或者,如果总是需要,可以在后台自动发送包,但是以较小的组发送,这些包将很快显示出来。用户会很快准备好他们的页面,大多数时候他们不会注意到并不是所有的数据都已经在那里了——当他们需要它的时候,它已经下载了。有了今天对AJAX
、jQuery
和类似的东西的支持,这样做应该不会比立即获取和显示整个数据集更困难。