Поведения File.ReadAllText и Master Pages - PullRequest
0 голосов
/ 16 декабря 2010

, если я использую на главной странице

File.ReadAllText 

для загрузки текста из текстового файла в виде строки в литерале.

Когда я загружу страницу контента в зависимости от моей мастер-страницы, код будет открываться и читать текстовый файл все время (для каждого запроса страницы контента), ИЛИ текстовый файл будет кэшироваться на главной странице только один раз?

Спасибо за ваше время

Ответы [ 2 ]

1 голос
/ 16 декабря 2010

Я думаю, что ваше приложение будет читать файл несколько раз.Но ОС, скорее всего, будет кэшировать файл в ОЗУ, поэтому при частом чтении он должен выполняться быстро.

В качестве альтернативы просто поместите его в кеш в вашем приложении.Но помните: «Кэш без политики - это утечка памяти», поэтому вам может потребоваться процедура удаления старых записей из кэша.

1 голос
/ 16 декабря 2010

Это не будет кешироваться. Главные страницы, даже скомпилированные, не выполняют код, который вы написали в них во время компиляции.

Например, следующая вещь:

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

будет скомпилировано во что-то, по сути, следующее:

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

, которая будет выполняться каждый раз при загрузке этой главной страницы.

...