【问题标题】:storing cache of pages at different location instead of default将页面缓存存储在不同位置而不是默认位置
【发布时间】:2012-07-08 03:53:36
【问题描述】:

我想在我的 asp.net Web 应用程序上实现缓存的概念。它不是 MVC 应用程序。我已经学会了如何缓存页面(aspx)

<%@ OutputCache Duration="10" VaryByParam="none" Location="ServerAndClient" %>  

它正在捕获页面。我想将缓存存储在某个不同位置的文件夹中,而不是默认位置。我不知道该怎么做。对于其他页面,文件夹会有所不同。有没有办法做到这一点?

提前致谢

【问题讨论】:

  • 缓存的数据在内存中,而不是在磁盘上(放在磁盘上没有多大意义)。
  • 你的意思是内存?即使 ram 所以我可以定义一些方法来将缓存的数据存储在某个层次结构中吗? :)
  • 是的,我指的是内存。而这样的改变会给你带来什么?我不明白你这样做有什么好处。
  • 我在想的是,我将服务器上 mywebsite 的所有页面的缓存存储在一个文件夹中(默认)。如果我将它们保持在层次结构中,服务器将更快地找到页面的缓存。

标签: c# asp.net caching


【解决方案1】:

默认情况下,当您使用 [OutputCache] 属性时,内容缓存在三个位置:Web 服务器、任何代理服务器和 Web 浏览器。您可以通过修改 [OutputCache] 属性的 Location 属性来准确控制内容的缓存位置。

您可以将 Location 属性设置为以下任一值:

· 任意

· 客户

· 下游

· 服务器

· 无

· 服务器和客户端

【讨论】:

【解决方案2】:

.Net 4 允许您创建自定义输出缓存提供程序

我了解您只是想配置您当前的代码,以便缓存可以存储在特定文件夹中,但下面的文章为您提供了示例,说明您可以在配置文件中设置 cahcheLocation

这个例子展示了如何在物理磁盘中存储文件http://www.codeguru.com/csharp/.net/net_asp/article.php/c19835/Creating-a-Custom-Output-Cache-Provider-in-ASPNET-4.htm

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-18
    • 2021-10-07
    • 1970-01-01
    • 1970-01-01
    • 2023-04-06
    相关资源
    最近更新 更多