Witaj na Zine.net online Zaloguj się | Rejestracja | Pomoc

Eleganckie samobójstwo aplikacji ASP.NET

Czasami może się zdarzyć, że nasza aplikacja ASP.NET odczuje potrzebę popełnienia samobójstwa i narodzenia się na nowo. Kiedy? Na przykład, gdy zmieni się jakiś plik konfigurujący aplikację (nie dotyczy to web.config, którego zmiana powoduje automatyczny restart) lub gdy chcemy w sekcji administracyjnej witryny dać możliwość administratorowi wykonania tego na życzenie. Wówczas pojawia się pytanie, jak to zrobić elegancko i zgodnie z lege artis?

Rozwiązanie łopatologiczne polega na modyfikacji pliku web.config (choćby metodą File.SetLastWriteTime) i pozwolenie, żeby środowisko ASP.NET zajęło się resztą.

Rozwiązanie bardziej eleganckie: HttpRuntime.UnloadAppDomain(). Wówczas środowisko kulturalnie kończy swoje działanie, a aplikacja jest uruchamiana ponownie przy następnym żądaniu. Wady? Niestety, wymaga full trust.

Opublikowane 21 lutego 2009 21:23 przez jakubin
Filed under: ,

Komentarze:

# re: Eleganckie samobójstwo aplikacji ASP.NET

Można jeszcze zrobić jakąś zmianę na katalogu 'bin' aplikacji. Na przykład utworzyć tam jakiś plik - o nazwie chociażby '.restart'. Wtedy aplikacja zrestartuje się tak jak po zmianie web.config.

23 lutego 2009 15:20 by nightwatch

# re: Eleganckie samobójstwo aplikacji ASP.NET

@nightwatch

true, true

Dzięki za tą uwagę.

23 lutego 2009 20:34 by jakubin

# Eleganckie samobójstwo aplikacji ASP.NET

Dziękujemy za publikację - Trackback z dotnetomaniak.pl

10 listopada 2009 12:50 by dotnetomaniak.pl
Komentarze anonimowe wyłączone

About jakubin

MVP w kategorii C#, MCP. Aktualnie pracuje w Webstruments.pl jako programista C#.