Hallo zusammen,
Ich habe Folgende Frage: kann man mit ASP.Net Seiten automatisch beim Load() im Hintergrund abspeichern? Wenn es keine möglichkeit dafür gibts, konnte man dann denn Antwort von Server auf Request irgendwo abfangen und dann als Textdatei abspeichern? Zum Hintergrund der Frage: in einer ASP.Net-Webanwendung werden Bilder und Text aus DB galden. Nun sollen die geladene Seiten als BackUp irgendwo gespeichert werden um in Notfall darauf zugreifen zu können.
Ich bin für jeden Hinweis sehr dankbar,
Zero_Base
Suchst du etwa sowas wie eine OutputCache page Directive?
http://www.ondotnet.com/pub/a/dotnet/2002/12/30/cachingaspnet.html
@marsgk
vielen Dank für deine Antwort, marsgk!! Output Caching scheint das zu sein was mir weiter helfen könnte. Aber wie kann ich jetzt die Seite aus dem Cach auslesen?
Gruß
Zero_Base
Ich hab noch nie eine ASP(X) - Seite erstellt. Aber so wie ich das sehe gibt es zwei Möglichkeiten:
Entweder mit der OutputCache-Direktive: Die musst du nur angeben und den Rest erledigt ASP.NET
Oder mit Hilfe der Klassen im System.Web.Caching Namespace.
Wie das geht steht eh auf der Seite die ich angegeben habe bzw. wenn du in der Hilfe nach cache suchst findest du auch ein ausführliches Tutorial.
@marsgb
Auf der seite steht es nur wie man bestimmte Fragment aus dem Cache auslesen kann. Ich brauche baer die ganze Seite 🙁
Dann verwende halt die OutputCache-Direktive und die ganze Seite wird zwischengespeichert.
das mache ich ja, aber wenn ich Cach.Count aufrufe, dann ist es gleich 0. Und wie soll ich denn auf ganze seite im Cach zugreifen (nicht nur auf fragmente wie es im Link stand)?
OutputCache-Direktice und das Cache Objekt sind zwei unterschiedliche Dinge!
Ließ dir mal das Tutorial in der SDK-Doku(Stichwort cache) durch.
Ich würde gerne in Cache den ganzen HTMLCode der Seite (before die Seite beim Client aufgebaut wird) speichern. Dann könnte amnn es auslesen und in textdatei speichern. Die Frage sit nur wie kann man an HTML-Code der Seite aus dem Code heraus kommen?
Probier mal RenderControl aus.
Aber warum willst du das machen?
In der Global.asax kannst du einen Handler für das Ereignis HttpApplication.PostRequestHandlerExecute schreiben. Google hierzu mal nach "global.asax" und "PostRequestHandlerExecute". Da müsstest du dann irgendwie auf die gerenderte Page zugreifen können - notfalls über den Response-Stream.
Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca