问题标签 [outputcache]
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.
outputcache - OutputCache 没有在整个持续时间内缓存
我做了一个简单的测试用例。
默认.asp:
网络配置:
如果我请求 default.asp 2 次页面被缓存,则 datetime 值在一段时间内表示相同,但不是整个小时。
要测试这个打开的 default.asp 请求页面,直到它被缓存,然后等待 5 分钟并刷新页面。
我正在使用 Windows 7 + IIS7.5
c# - ASP.NET MVC:通过 OutputCache 属性中的 HTTP 状态代码过滤/变化
在我正在编写的 ASP.NET MVC 站点中,我正在按照本教程构建一个由 HttpModule 路由到的通用错误操作。在这个 Action 中,我将返回一个与应用于 HttpModule 内的响应的状态代码相对应的 View(在这样做之后,模块将请求转移到相关的 Action)。
这一切都很好,除了我想实现缓存。我不想在OutputCache
没有过滤/变化的情况下使用该属性,因为这意味着该页面将被缓存一次。我希望为每个可能的状态代码缓存一次页面。
是否有可能以某种方式过滤/改变OutputCacheAttribute
' 的属性,以便每个 Response.StatusCode 单独缓存?
asp.net - 列出 OutputCache 条目
在我的 asp.net mvc 应用程序中,我在不同的操作方法上使用了 OutputCache 属性。是否可以查看与 OutputCache 属性相关的缓存中的当前条目?如果我 cicle onSystem.Web.HttpContext.Current.Cache
我找不到这种类型的条目。在此先感谢 F。
c# - webforms 中的 outputcaching varybyparams 是否理解路由参数?
webforms 中的 outputcaching VaryByParams 是否理解路由参数?这样,如果我有一个类似于"Content/{filename}/{more}"
我可以做的路由VaryByParams="filename"
并让它根据文件名返回缓存的结果并忽略更多的任何值?
asp.net - ASP.NET 重新创建缓存控件
我解决了我在缓存方面遇到的大部分问题。但还有一件事。我有一个使用输出缓存的 UserControl。像这样:
但是,如您所见,控件每 12 分钟重新创建一次,因为生成它需要 5 到 10 秒。
现在,ASP.NET 的默认行为是在用户进入页面时创建控件并将其保存在缓存中 12 分钟。然后,再过 5 分钟后,用户进入该页面时,将再次创建控件。
有没有办法强制 ASP.NET 在 12 分钟缓存过期后重新创建控件?下次用户访问时不管吗?
甚至是一个完美的解决方案:假设 11 分 50 秒后在后台重新创建控制,而不是在 12 分钟后用新的替换实际控制?
感谢帮助!
javascript - 如何确保永远不会缓存动态生成的 javascript 文件?
我有一个动态生成的 javascript 文件,我想确保它永远不会被浏览器缓存。我目前的方法是简单地将(新)guid 附加到每个页面视图的脚本标记中的 url。
例如:
我的问题是......这是实现我的目标的最佳方式吗?
作为参考,我使用的是 ASP.NET MVC 2,并且由于控制器操作而生成了 javascript 文件。
c# - ASP.NET:注销时清除客户端输出缓存
我的 Web 客户端需要客户端输出缓存,因为它使用自己的后退和前进按钮(基本上只是调用浏览器的后退/前进按钮)。
然而,我遇到的问题是(当然)当用户退出应用程序时。客户端输出缓存仍然存在,因此任何人都可以单击“返回”按钮,并且它似乎再次登录。我研究了一些解决方案,但大多数都涉及服务器端输出缓存或根本没有输出缓存。
我在服务器缓存和 HttpResponse.RemoveOutputCacheItem 方面取得了成功,但不幸的是我需要客户端缓存。
注销时是否可以清除此客户端输出缓存?
asp.net-mvc - 如何关闭整个 ASP.NET MVC 站点的浏览器缓存?
我想为我网站上的每个页面禁用浏览器缓存。我知道我可以按操作执行此操作,但我想知道是否有办法在整个站点范围内执行此操作。
c# - OutputCache 用于具有状态的动态页面
我有一个 ASPX 页面,它会进行大量数据库查询,我试图缓存这些查询以提高应用程序的性能。页面可以是以下三种状态之一:
- 等待动态数据。
- 显示动态数据。
- 完成显示动态数据。
动态数据的 DateTime 存储在您使用“Id”GET 参数加载的对象中。我希望行为如下。
a> 当页面状态为 1 时,用户浏览到“MyPage.aspx?Id=x”。第一次加载时,页面在数据库中查找,检索它期望获取新数据的 DateTime,并缓存页面直到日期。
b> 用户在该对象的 DateTime 之后浏览到“MyPage.aspx?Id=x”(又名,状态 = 2)。首次加载时,由于缓存已过期,页面会动态生成并显示最新的数据库数据。该页面缓存 30 秒以提高后续用户的性能。
c> 用户在状态变为 3 后浏览到“MyPage.aspx?Id=x”。页面现在永远不会改变,所以没有必要继续在数据库中查找。缓存设置为在一个月内过期(或永不过期,如果可能的话)。
我尝试使用以下代码执行此操作(我的状态称为“Pending”、“InProgress”和“Complete”):
我不确定这是否符合我的预期。我已经使用 FireBug 对其进行了测试,并且 Cache-Control 标头设置为“no-cache”,并且缓存的过期日期设置为“Wed Dec 31 1969 18:00:00 GMT-0600(Central Standard Time)” . 当我注释掉上面的 Response.Cache 行时,缓存控制标头设置为“私有”,并且缓存的到期日期设置为与上面相同。
任何想法我在这里做错了什么或如何更好地测试它?
谢谢!
c# - 使用 ASP.NET MVC OutputCache 同时根据用户是否经过身份验证改变视图内容
我正在构建一个 ASP.NET MVC 2 站点,我在其中大量使用 OutputCache 参数。但是,我有一个担忧:使用这种缓存可能会干扰 authentication。
在我的所有页面上,我都会显示用户是否登录。此外,在我的一些视图中,我根据用户角色进行过滤以确定是否显示某些页面内容(例如,我的一个页面上的编辑链接仅显示给具有版主或管理员角色的用户) .
使用 OutputCache 会干扰我的视图的这种动态变化吗?如果是这样,我怎样才能在不消除缓存的情况下解决这个问题?