2010-12-02 10 views
1

gibt es eine Möglichkeit in ASP.NET herauszufinden, ob eine * .aspx Seite geändert wurde.Um herauszufinden, ob eine * .aspx Seite geändert wurde

Ich brauche es, um eine zwischengespeicherte statische Variable in einem Basisseitenkonstruktor zu aktualisieren.

Vielen Dank und viele Grüße.

+0

durch das, was sich geändert? Wenn Sie Ihre Website erneut veröffentlichen, wird die App-Domain wiederverwendet und dies wird trotzdem passieren? – Paddy

+0

fügen Sie eine neue Methode hinzu (Code inline) http://www.808.dk/?code-aspnet-inline - wenn ich nur die geänderte Datei xyz.aspx hochlade, wird die Anwendung nicht wiederverwendet. Die Basepage (andere Assembly) erhält alle Methoden und hält sie in einer statischen Variable. Wenn ich also der Seite eine neue Methode hinzufüge, muss die statische Variable den Wert aktualisieren. – Beni

Antwort

1

Vermutlich wissen Sie, dass sich die ASP.NET-Seite geändert hat (weil Sie sie hochgeladen haben). Warum nicht zu diesem Zeitpunkt den App-Pool recyceln ODER etwas tun, das den App-Pool zum Recycling bringt (z. B. das Ändern von web.config)?

Diese Frage ...

What causes an application pool in IIS to recycle?

... Gespräche über das, was bewirkt, dass eine App Pool recycle. Dieser MSDN-Artikel ...

http://blogs.msdn.com/b/tess/archive/2006/08/02/asp-net-case-study-lost-session-variables-and-appdomain-recycles.aspx

... hat über das Thema eine ausgezeichnete aufzuschreiben.

Wenn Sie die neue ASPX-Datei hochladen, sollten Sie eine Neukompilierung erhalten, aber Sie erhalten möglicherweise keine App-Pool-Wiederverwendung. Die Anzahl der Neukompilierungen vor einem Recycling wird von config gesteuert. Siehe Tess' Artikel (siehe oben) für Details, aber dieser Schnipsel gibt sie ist ...

[Recycling tritt auf, wenn] Die Anzahl der Wieder Compilations (aspx, ascx oder asax) die Grenze durch die angegebene überschreitet Einstellung in machine.config oder web.config (standardmäßig ist diese Option auf 15)

+0

danke für die antwort! Es gibt also keine Möglichkeit, den Basisseitenkonstruktor zu überprüfen, ob es die erste Anfrage für die aktuelle aspx-Seite gibt. – Beni

Verwandte Themen