c# - 缓存或应用程序变量来存储对象列表?

标签 c# asp.net caching application-start

在我的应用程序中,我将一些 xml 文件读入对象列表 ( List<Thing> ),但我想避免在每次请求时都必须访问文件系统。 xml 文件中的数据很少更改,因此我想以某种方式缓存它。无论是在应用程序启动时加载数据还是延迟加载,对我来说都很好。我需要能够在整个应用程序中使用数据并对其运行 Linq 查询,几乎将其用作内存中的迷你数据库。我需要能够更改/更新数据而不影响缓存版本,因此可能还需要将数据复制到本地变量。我怎样才能实现这个目标?

最佳答案

您可以使用缓存对象。

myxmllist = HttpContext.Current.Cache["myxmllist"];

    if (myxmllist == null)
    {
        //get xml from server

        HttpContext.Current.Cache.Insert("myxmllist", myxmllist); // add it to cache
    }

关于c# - 缓存或应用程序变量来存储对象列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16820823/

相关文章:

c# - ASP.NET Web API 中具有多个 GET 方法的单个 Controller

c# - 自定义 httphandler 在重写路径时抛出异常

c# - 处理 Entity Framework 核心中的并发条件以防止竞争条件

asp.net - 当用户另存为时我可以重命名文件吗?超文本标记语言

node.js - NGINX 浏览器缓存不工作 - Node JS EC2

c# - 通过 EventHandler 传回一个返回值

c# - 如何将格式化字符串传递给 JavaScript 变量?请参阅 c# 示例我的意思

java - 为 Java 中的大型数据集寻找纯基于磁盘的键值缓存

java - Android 4.4 中不存在 WebView Cache

c# - 我应该使这个 XmlSerializer 静态吗?