我想知道方法File.ReadAllText的行为 这是我的代码示例:
uxJavaScriptTinyMCEDisplayer.Text = File.ReadAllText(Server.MapPath("TinyMCEJavaScriptAdmin.txt"));
File.ReadAllText有一些CACHE行为吗?因此,第一次读取文件时,是否会保留在内存中而不会再次重新读取?
感谢
答案 0 :(得分:3)
.Net中没有直接缓存,但是,您通过操作系统间接获得缓存行为。
Windows已经过优化,可以在内存中缓存文件内容,并且有一个便于内存缓存文件系统内容的层。但正如Frédéric在评论中指出的那样,你不应该依赖这种行为,因为内存压力,缓存老化等可能意味着缓存的内容被删除。
如果有足够的内存,操作系统可以很好地缓存。
<强>更新强>
这是一篇旧文章(Win2K),但对操作系统磁盘缓存提供了一些想法。
答案 1 :(得分:1)
没有缓存。它将读取给定路径上文件的当前内容。