マスターページで使用する場合
File.ReadAllText
リテラルの文字列として、テキストファイルからテキストをロードします。
マスターページに応じてコンテンツページをロードすると、コードが開いてテキストファイルが常に読み取られます(コンテンツページのリクエストごとに)。または、テキストファイルがマスターページに1回だけキャッシュされますか?
御時間ありがとうございます
マスターページで使用する場合
File.ReadAllText
リテラルの文字列として、テキストファイルからテキストをロードします。
マスターページに応じてコンテンツページをロードすると、コードが開いてテキストファイルが常に読み取られます(コンテンツページのリクエストごとに)。または、テキストファイルがマスターページに1回だけキャッシュされますか?
御時間ありがとうございます
キャッシュされません。コンパイルされたマスターページでも、コンパイル時に記述したコードは実行されません。
たとえば、次のことです。
<div><%= File.ReadAllText( someFile ) %></div>
基本的に次と同じものにコンパイルされます。
builder.Append("<div>").Append( File.ReadAllText( someFile ) ).Append( "</div>" )
これは、このマスターページが読み込まれるたびに実行されます。
アプリケーションはファイルを複数回読み取ると思います。ただし、OSはファイルをRAMにキャッシュする可能性が高いため、頻繁に読み取る場合は高速である必要があります。
または、アプリケーションのキャッシュに入れてください。ただし、「ポリシーのないキャッシュはメモリリークである」ことを忘れないでください。そのため、キャッシュから古いエントリを削除する手順が必要になる場合があります。