gpt4 book ai didi

ASP.NET View 状态使 iPad 浏览器崩溃

转载 作者:行者123 更新时间:2023-12-03 15:43:02 27 4
gpt4 key购买 nike

我正在处理的一个站点有一个 ASP.NET 网络表单页面,该页面回发并有大约 88KB 的未压缩 ViewState。是的,我意识到这是很多 ViewState。我观察到任何回发都会导致 iPad 浏览器崩溃并转到 iPad 主屏幕。页面上的任何其他链接都可以正常工作。回帖在 iPhone 4 上也可以正常工作。当我将页面上的 ViewState 减少到大约 48KB 时,崩溃问题就消失了。

这是我发现的唯一一个与此问题类似的引用 http://www.devcomments.com/GWT-Obfuscation-crashes-iPad-Safari-browser-at1047668.htm虽然它不是引用 GWT 也不是 ViewState。

是否有一些与此问题相关的特定限制,或者它只是 iPad 浏览器的一个未记录的错误?

编辑:
在 iPad 上玩了一些时间并在线阅读了一些内容之后,如果觉得 Safari 存在滥用行为,操作系统似乎会关闭 Safari。操作系统要么认为 Safari 使用了过多的 RAM 或过多的 CPU,我不确定在这个 Viewstate 问题的情况下是哪一个。我是另一个崩溃问题,根本没有 Viewstate,但在一个小的 XHR 之后经常发生崩溃,似乎是在一些 Javascript 正在运行但很难说清楚的时候。在第二种情况下,禁用 Javascript 可以防止 Safari 崩溃,但也会使页面无用。

所以我想我的问题仍然是 iPad 1 Safari 中的实际限制是什么,人们如何针对这些崩溃限制进行测试?

最佳答案

这听起来确实像是 iPad 上 Safari 中的一个错误。

也就是说,这是一个非常多的 View 状态。你真的需要它吗?

在我看来,一个大错误是 MS 决定默认启用所有 View 状态。这意味着如果您在回发中更改文本框的背景颜色,控件随后会“记住”它是新的背景颜色,而无需您做任何事情来实现它。不那么粗略地说,这意味着您获得了一个更像 Windows 窗体应用程序的编程模型,而且对于开发人员来说,这一切都非常容易。

但要付出代价。 Web 应用程序是客户端-服务器应用程序。它与本地运行的应用程序根本不同,也许两种情况下的编程模型真的不应该相同......

如果您不知道是否真的需要 View 状态,请尝试为整个页面禁用它。如果您发现某些特定控件需要它,请为所有其他控件禁用它,为必须拥有它的控件启用它,然后再次为页面启用它。我认为你会发现大部分(如果不是全部的话)你的大量 View 状态实际上并没有被使用——除了消耗带宽之外的任何东西。

关于ASP.NET View 状态使 iPad 浏览器崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5145833/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com