【发布时间】:2011-09-11 01:54:41
【问题描述】:
我一直在谷歌上搜索,但找不到答案;答案要么很明显(我需要更多培训),要么深藏在文档中(或没有文档)。一定有人知道这一点。
我一直在与坚持在 ASP.NET 站点上缓存一些静态文件的人争论,我认为没有必要因为一个简单的事实,即所有其他生成动态 HTML 的文件都不会被缓存(默认情况下;让我们现在忽略输出缓存;让我们也忽略人们想到的缓存机制[内存中或网络上])。换句话说,当每个映射到它们的请求都从磁盘读取所有 aspx 文件时,为什么要缓存一些 xml 文件(不管它的访问频率如何)?如果我是对的,通过缓存这些静态文件将获得很少(更少的磁盘读取操作),但会花费更多的内存(如果缓存在内存中)或者会导致更多的网络操作(如果缓存在外部机器上) .有人知道 [通常] 请求一个 aspx 文件时实际上会发生什么吗?谢谢。
【问题讨论】:
-
程序(如 Word、Unreal Tournament 等)是否在每次输入命令时都从磁盘读取?网络应用程序可能以类似的方式工作......
-
那么,您是说 IIS 进程如何读取文件一次,将它们存储在内存中,然后监视所有内容的更改,以便它可以更新其缓存版本?这就说得通了。但是,为什么有些开发人员坚持专门缓存一些我们有时作为网站一部分的静态数据文件(例如 xml)(因为这些文件是以相同的方式被 IIS 缓存的)?
-
Xml 文件不是正在运行的 prgram 的一部分,会有明确读取它们的代码,所以在这里缓存是个好主意
标签: asp.net caching static-files