File.ReadAllText和Master Pages行为

时间:2010-12-16 19:53:31

标签: c# master-pages cache-control

如果我在母版页中使用

File.ReadAllText 

从文本文件加载一些文本,作为文字中的字符串。

当我根据我的主页面加载内容页面时,代码将一直打开并读取文本文件(对于每个内容页面请求)或文本文件将仅在主页面中缓存一次?

感谢您的时间

2 个答案:

答案 0 :(得分:1)

它不会被缓存。即使编译的母版页也不会在编译时执行你在其中编写的代码。

例如以下内容:

<div><%= File.ReadAllText( someFile ) %></div>

将编译为与以下内容基本相同的内容:

builder.Append("<div>").Append( File.ReadAllText( someFile ) ).Append( "</div>" )

每次加载此母版页时都会执行。

答案 1 :(得分:1)

我认为您的应用程序会多次读取该文件。但操作系统很可能会将文件缓存在RAM中,所以在经常阅读时它应该很快。

或者只是将它放在应用程序的缓存中。但请记住“没有策略的缓存是内存泄漏”,因此您可能需要一个过程来从缓存中删除旧条目。