问题标签 [application-cache]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
1831 浏览

asp.net - 您实际上可以持有多少应用程序会话数据?

我目前有一个应用程序,每天有超过 20,000 名用户使用,他们主要查看一个数据表。该数据表填充了大约 20 行,但从数据库中的“数据表”中提取,表中有 200,000-600,000 条信息记录。编辑:这 20 行是“动态的”,如果用户通过文本框输入任何信息,它们会发生变化。

我目前还持有用户数据和个人资料数据。

我目前每次显示数据表时都会进行大约 4 次回调,但我无法将其减少到 1 次。

问:我想知道我是否真的可以每 5 秒用 200,000-600,000 行数据填充应用程序状态,它真的会加速系统吗?编辑:对用户或任何其他用户输入的动态行执行,内容需要经常刷新。

问题 2:我实际上可以在应用程序缓存中保存多少并且仍然可以更快地获得它?

编辑:有超过 20,000 名用户访问这 200,000 行,我需要缓存所有这些行,或者至少我认为是最佳实践。当用户访问我的网站时,这是他们查看的主要页面之一,每次访问可能会返回 2-5 次。

编辑:用户确实看到了一组独特的 20 行,这可能与用户看到的任何其他 20 行不同。这是一个非常动态的网站,几行不同的行可以大约每秒更新一次。

编辑:如果存储在会话状态中,那么它只会加快一个人查看页面的次数。不是整个应用程序,因为一个人只能查看一次页面然后离开。

0 投票
1 回答
311 浏览

asp.net - 为什么我的 ApplicationCache 传回的是引用而不是值?

这是我刚刚遇到的一件奇怪的事情。

我有一个 Web 应用程序,它在 ApplicationCache 中存储了一个小的 DataTable,以将查询量减少到一个单独的位置,因为数据是一个不经常更改的查找表。

我在给定页面内访问此 DataTable 两次。一次将数据绑定到我的 Page_Load 方法中的下拉列表:

...并且在我的 ddlDeptDivAct_SelectedIndexChanged 事件中选择索引时从表中检索其他数据:

注意:GetAllDeptDivActCodes() 方法是从 ApplicationCache 对象返回表的简单方法。

The web page works fine. I can select my value and the proper values are insterted into the TextBox. However, when I go to a different page and come back to this page. My drop down list only has 1 value available for selection.

When I pulled up the debugger, I noticed that upon returning to the web page, when the GetAllDeptDivActCodes method returns the DataTable from the cache, the DefaultView RowFilter property was still applied to the DataTable, which was causing the problem.

I have fixed the issue for now by simply resetting the the DefaultView RowFilter once processing is done in the SelectedIndexChanged event, but why is the Application returning what appears to be a reference to the DataTable in the application cache when I was expecting a seperate copy (or value) of the object?

0 投票
6 回答
8200 浏览

html - HTML5 离线应用程序需要 swapCache() 吗?

如果我不实现任何updateready事件处理程序并且不调用swapCache(),这是否意味着浏览器将始终使用应用程序的第一个(最旧)下载版本?

如果不是,那么为什么swapCache()需要该方法?

0 投票
2 回答
895 浏览

iphone - HTML5 应用程序缓存白名单问题 - 不会忽略项目

我正在尝试使用 HTML5 应用程序缓存来加快 iPhone webapp 上的某些事情。它非常适合存储图像、css 和 JS,但问题是它也尝试存储 HTML。我无法让它忽略 html 并停止将其存储在缓存中。从我读过的内容来看,无论如何我都必须将要加载的文件和目录“列入白名单”。我已经尝试列出我想要明确缓存的文件,并且我尝试在“NETWORK:”标题下添加一系列内容。我试过了

它们似乎都不起作用。有什么方法可以通过 MIME-Type 或其他方式忽略 HTML 文件吗?任何意见,将不胜感激。

瑞安

PS当然,我的网站不是mysite.com ..我只是为了简单起见。

0 投票
6 回答
28611 浏览

html - 移动 Safari 5mb HTML5 应用程序缓存限制?

在我的测试中,Mobile Safari 对 HTML5 应用程序缓存的实现有 5mb 的大小限制,这一点变得越来越明显。

有谁知道如何规避或提高这个?是否有一些我应该知道的未公开的元标记?我必须为离线应用缓存一些视频内容,而 5mb 是不够的。

0 投票
2 回答
3053 浏览

html - 奇怪的 html5 清单重新加载

我在 Chrome 5.0.375.99 下的 HTML5 清单文件有一个奇怪的问题,但在 Safari 下似乎一切正常。

当第一次使用第一次指定的清单文件加载页面时,我可以使用 Fiddler 观察到清单中的所有文件都被加载,然后在中途似乎再次获得清单文件。此时触发了error事件,applicationCache的状态为UNCACHED。

我试过以下

  1. 重启电脑
  2. 重新启动浏览器
  3. 检查缓存的文件数量是否不超过 5mb
  4. 通过执行 HEAD 检查清单文件中的文件是否有效
  5. 尝试使用不同的清单文件名
0 投票
1 回答
1828 浏览

html - 为什么我的 HTML5 应用程序缓存不起作用?

我的设置/代码如下(顺便说一句,我正在关注nettuts 快速提示

更新

从 Live HTTP Headers @ pastebin记录

我看到最后一行了吗?Content-Type: text/cache-manifest或第 6 个Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

我认为它现在可以工作,但是如果我有来自 google cdn 的 jquery,它不会在第二次刷新时工作,我认为它只尝试使用本地文件?

0 投票
4 回答
4621 浏览

web-applications - 在缓存清单文件 HTML5 的 FALLBACK 部分中使用通配符

如何创建启用离线的 Web 应用程序,以便当用户访问 hxxp://mywebsite/ 并且离线时显示 hxxp://mywebsite/offline/。[我的网站中有大约 100 个不同的动态页面,所以我无法将它们全部硬编码到缓存清单文件中]

0 投票
1 回答
928 浏览

asp.net - ASP.NET DataView - RowFilter 和应用程序缓存问题

女士们先生们下午好——

我的任务是查找和修复一个不熟悉的遗留应用程序中的错误,该应用程序最近对其进行了一些更改,但我没有一种简单的方法(我知道)来测试我的理论。我希望您的集体知识将为我验证测试。

此应用程序将查找列表(绕口令?)DataTable从数据库中延迟加载到 s 中,并将它们作为对象存储在HttpContext.Current.Application(an HttpApplicationState) 中。

在进行更改之前,其中一个查找表以DropDownList下列方式(人为)绑定到 a:

其中 'SomeLookupListName' 是一个只读属性,它返回一个DataTablefrom HttpContext.Current.Application。更改添加了一些代码,在绑定到 之前过滤私有Me._lookupList( ) :DataViewDropDownList

如果您还没有猜到,正在发生的事情是,DataView现在已针对应用程序的每个用户进行过滤。我查看了代码,发现大多数其他查找列表都以这种方式复制到本地成员:

由于我不知道如何伪装成多个用户来攻击我的本地调试会话,因此将代码更改为使用后一种方法实际上与前者有什么不同吗?DataTable.DefaultView过滤实际将过滤器应用于底层的结果是否DataTable与使用 包装表不同New DataView(...)

在绑定之后简单地清除行过滤器是否有意义DropDownList(似乎是一个糟糕的解决方案)?我想坚持这个应用程序使用的丑陋的约定,这样我就不会让其他开发人员感到惊讶,他们会得到类似的任务,否则我会绕过应用程序状态并直接从数据存储库中获取项目.

感谢您的反馈。

0 投票
2 回答
1332 浏览

asp.net - 如何在两个 ASP.NET 应用程序之间共享应用程序缓存

这是交易,

我在 utopiapimp.com 有一个网站。该网站用于流行的基于网络的游戏。一些公司的互联网不允许访问该网站,所以我在 utopiashrimp.com 开设了另一个域。相同的网站,但不同的 iss 应用程序。两者都有相同的数据库后端。他们也都坐在同一个虚拟机上。我将我的全新代码放在虾上并用该代码解决错误。我在 pimp 上托管了可靠的代码。所以我不能只将虾域转发给皮条客,因为我需要一个测试台。

问题是它们不共享相同的应用程序缓存。所以我的问题是,两个网站可以共享同一个应用程序缓存吗?我真的需要弄清楚这一点。我宁愿不创建一个网站需要点击以更改另一个应用程序上的缓存的 Web 服务和/或处理程序。对此的任何帮助都会很棒!

先谢谢了。