gpt4 book ai didi

c# - 需要在 C#/ASP.NET 中手动缓存静态文件吗?

转载 作者:可可西里 更新时间:2023-11-01 14:20:04 24 4
gpt4 key购买 nike

我有一个类正在为本地文件系统上的 xml 文件创建 StreamReader 实例。同一文件可能每秒被请求多次。

我想知道我是否需要手动将此文件添加到 System.Web.Cache 并从那里读取它,或者 Windows 本身是否足够聪明来缓存项目本身以便它 '知道当 ASP.NET 第二次/第三次等请求此文件时,它不必执行磁盘查找/读取操作并从自己的缓存中提取它吗?

本文:http://dotnetperls.com/file-read-benchmarks似乎支持这个,但是这个:文章:http://msdn.microsoft.com/en-us/library/18c1wd61%28v=VS.100%29.aspx (虽然不是从性能角度讨论,可能完全出于其他原因)列出了如何将物理文件添加到缓存。

最佳答案

我不认为缓存文件会有多大用处,因为它与页面驻留在同一台服务器上,尽管 IIS 可能会自动缓存它。相反,您应该缓存的是 StreamReader 的输出。读入 xml 后将其存储起来,这样您就可以节省读入它所花费的时间,以及将其转换为可用格式所进行的任何处理。

然后您可以手动将其添加到HttpRuntime.Cache,您甚至可以设置对原始文件的文件依赖性,以使缓存输出过期。

关于c# - 需要在 C#/ASP.NET 中手动缓存静态文件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4303799/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com