问题标签 [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.
asp.net-mvc - 我如何知道是否正在使用给定控件的 OutputCache?
我正在尝试在 Asp.Net MVC 中编写一个通用的“menu.ascx”用户控件,它将为我的应用程序生成一个格式正确的 HTML 菜单。菜单是根据数据库中的内容和一系列资源解析生成的……通过 ViewModel 上的属性传递给 PartialView。
在 menu.ascx 控件上使用 OutputCache 指令来限制到数据库和资源文件的往返次数是有意义的。我的意图是用 VaryByParam=none 和 VaryByCustom 属性标记 OutputCache 指令,在 global.asax 中实现自定义安全查找...
我的问题是:我们如何知道何时使用 menu.ascx 的 OutputCache,以便在控制器中构造 ViewModel 时跳过数据获取操作?
一些示例用户控件代码:
asp.net - 如何将 ASP.Net OutputCache 配置为因 http 与 https 而异?
这是场景,用户从我们的 WebApp 中打开非安全页面,我们称之为 PageA,在他们的浏览器中,然后单击其中的链接,将他们带到 PageB 的安全实例。一旦进入 PageB,用户随后可以单击一个链接,将他们带回到 PageA 的安全实例(他们已经查看并在 OutputCache 中)。我观察到,即使在访问 PageB(安全的)之后通过不同的 URL 访问 PageA,它实际上是在拉取先前缓存的副本,而不是制作一个新的副本。我在调试会话中验证了这种行为,并且惊讶于 ASP.Net 使用相同的 OutputCache 项来获取页面的安全副本。
我的问题是为什么会这样?以及如何告诉 ASP.Net OutPutCache 将来自安全 URL 的访问视为与非安全等效项不同/唯一的项目?
[背景]
我们最近将我们的网站图像切换为对所有图像使用 Scene7/Akamai。因此,我们添加了代码以在通过安全连接查看给定页面时使用不同的 Scene7 url。此 OutputCache 问题不允许执行输出安全 url 的逻辑,并导致丑陋的浏览器警告。
asp.net - ASP.NET OutputCache 和回发
我试图了解 ASP.NET OutputCache 机制。
我用标签和链接按钮构建了一个测试页面。
标签文本正在服务器上初始化,每个 PageLoad 上的当前服务器日期:
我使用了这个指令:<%@ OutputCache Duration="600" VaryByParam="none"%>
当我第一次按下 LinkButton 时,我在标签中得到了一个新文本,但是如果我再次按下链接按钮,我就没有得到一个新文本。
我认为这是因为传输到服务器的参数对于每个回发都是相同的。
有什么方法可以使用 OutputCach 和回发控件吗?
asp.net - ASP.net - 通过查询字符串缓存 (VaryByParam)
什么情况下应该使用Query-Strings (VaryByParam)来实现ASP.NET中的缓存?
任何人都可以举一个网络应用程序的真实情况示例吗?
c# - 在 asp.net mvc 中以编程方式中止 OutputCache 持续时间
我正在使用 OutputCache 属性在服务器端缓存我的操作的 html 输出。
很好,它可以工作,但是现在我遇到了内容很少更改的情况,但是当它发生更改时,用户在下一个请求中看到新数据至关重要。
那么,有没有办法以编程方式中止页面缓存持续时间?
c# - .NET:WebMethod 的输出缓存?
我可以将 WebMethod 输出的返回值缓存起来吗?例如,如果 WebMethod 在最后 X 秒或几分钟内被调用,实际上不要再次运行该方法 - 只需使用与上次服务相同的结果即可。或者我应该在类/WebMethod 内部滚动自己的缓存?
.net - ASP.NET outputCacheProfiles 可以与 Response.Cache 一起使用吗?
使用 @OutputCache 指令时,您可以在 web.config 中定义缓存配置文件,如下所示:
但是,在我的应用程序中,我有一些页面需要使用程序化缓存而不是声明性的,例如:
是否可以使用 Response.Cache 并利用 outputCacheProfiles?例如,
asp.net - 跨 Web 应用程序清除 ASP.NET OutputCache
是否可以从另一个 asp.net web 应用程序中清除一个 asp.net web 应用程序的输出缓存?
原因是......我们有几个结构类似......的wep应用程序
/area1/ 和 /area2/ 中的页面被缓存并通过 /intranet/cms/ 进行管理。当使用 /intranet/cms/ 编辑页面时,我想将其从相应 /area#/ 应用程序的缓存中清除。
我已经尝试使用 VaryByCustom 来查找存储在 HttpContext.Cache 中的 guid,但这似乎是每个 Web 应用程序缓存的,这不起作用。
真的,如果有任何方法可以在单个服务器上的 Web 应用程序之间传递数据,那将解决我的问题,因为我可以使用 + VaryByCustom。
谢谢!
——迈克·托马斯
asp.net-mvc - 缓存在我的 ASP.NET MVC 网站中无法正常工作?
我正在尝试在我的 ASP.NET MVC 网站中使用 OutputCaching。问题是,当我尝试更改我的查询字符串参数的值时,它会返回请求的第一个项目的数据!
这是我的代码(更改了参数名称)...
- 注意 1:ApiAuthorize - 检查名为“Key”的查询字符串参数并检查内存字典以查看它是否存在的自定义属性。
- 注意 2:HandleErrorAsJson - 如果抛出异常,则以 json 格式返回错误消息的自定义属性。
这是我对此操作进行的两个示例调用:-
- /GET http://api.MySite.com/search/scorecard?foo=hello+world,+PewPew&key=abcd1234&bar=2
- /GET http://api.MySite.com/search/scorecard?foo=invalid+search+stuff&key=abcd1234&bar=2
因此,第一次调用 (foo = hello world, Pew Pew) 的数据返回 200 OK。然后第二个 api 调用返回 200 OK,但包含上一次调用的数据。
另外,我没有使用任何代理服务器。如果我注释掉 OutputCache 属性,一切都很好。
我也尝试过以下(每次我需要缓存时手动列出).....
没运气 :(
请注意我需要如何确保将 API 'Key' 参数作为缓存唯一键的一部分。我不希望人们搜索相同的东西,但是如果第二个人没有正确的密钥,他们不应该得到缓存的结果,而是一条错误消息(从技术上讲,它是 401 Not Authorized,但是无论如何)...
想法?
.net - ASP.Net MVC - 在将数据放入缓存之前是否可以 gzip
只是想知道是否有人知道在将数据放入缓存之前是否可以 gzip 结果...注意我想使用我拥有的 CompressAttribute 和内置的 OutputCacheAttribute。我很确定它是可能的,因为我听过 Jeff A. 在几个播客上谈论它......
我知道我可以改变处理属性的顺序,但这似乎除了将 gzip 放在标题中并将过滤器设置为 GZipStream 之外什么都不做......我不确定何时使用此方法,当实际发生压缩...
我想先压缩的原因很简单,因为我只想在服务器上 gzip 一次,然后缓存结果......因此节省了 CPU 周期......
干杯安东尼