File.ReadAllText und Master-Seiten Verhaltensweisen
-
11-10-2019 - |
Frage
wenn ich in einer Master-Seite verwenden
File.ReadAllText
einen Text aus einer Textdatei zu laden, als String in einem Literal.
Wenn ich den Inhalt Seite lädt je nach meiner Master-Seite wird den Code öffnen und die Textdatei alle mal gelesen (für jede Content-Seite Anfrage) oder die Textdatei wird nur einmal in der Master-Seite im Cache gespeichert werden?
Vielen Dank für Ihre Zeit
Lösung
Es wird nicht zwischengespeichert werden. Masterseiten selbst kompiliert nicht ausführen Sie den Code in ihnen bei der Kompilierung geschrieben haben.
Zum Beispiel der folgenden:
<div><%= File.ReadAllText( someFile ) %></div>
wird im Wesentlichen die gleiche wie die folgenden zu etwas kompiliert werden:
builder.Append("<div>").Append( File.ReadAllText( someFile ) ).Append( "</div>" )
, die jedes Mal in dieser Master-Seite geladen wird ausgeführt werden.
Andere Tipps
Ich denke, die Anwendung die Datei mehrmals gelesen wird. Aber das Betriebssystem wird höchstwahrscheinlich die Datei im RAM-Cache, so sollte es schnell sein, wenn es oft zu lesen.
Alternativ setzt es nur in einem Cache in Ihrer Anwendung. Aber denken Sie daran „Ein Cache ohne Politik ist ein Speicherleck“, so dass Sie eine Prozedur benötigen könnten alte Einträge aus dem Cache zu entfernen.