Pomocník jménem app_offline
7. prosince 2006
|
Radek Kropík
|
Ti z vás, kteří programují webové aplikace v ASP.NET jistě vědí, že není jednoduché aktualizovat například soubor databáze SQL Express z důvodu, že ho používá jiný proces – prostě jev známý u běžící aplikace. Ale existuje malý trik, jak aplikaci dočasně „odstavit“ a pak je kopírování hračkou.
Jistě se vám to stalo také, chcete aktualizovat databázový soubor SQL Expressu a při kopírování vám např. Total Commander vyhodí hlášku, že soubor je právě
používán a tudíž nemůže být nahrazen. Co ale dělat, když chcete databázový soubor přesto aktualizovat? ASP.NET 2.0 v sobě skrývá malého pomocníka jménem app_offline.htm. Pokud si vytvoříte HTML soubor s názvem app_offline.htm a umístíte ho do rootu své aplikace, zruší se aplikační doména, aplikace se tudíž zastaví a všechna otevřená připojení na databázi se uzavřou, zruší se user instance a vy nyní již můžete vše v aplikaci snadno aktualizovat. Všem požadavkům na vaši aplikaci bude pak odeslán obsah souboru app_offline.htm. Z tohoto důvodu byste měli to tohoto souboru zapsat nějaké smysluplné hlášení o tom, že je vaše aplikace dočasně mimo provoz z důvodu např. aktualizace a podobně. Pro opětovné nastartování vaší aplikace stačí tento soubor smazat nebo přejmenovat a při prvním požadavku na vaši aplikaci se tato nastartuje. Co říkáte, není to dobrý pomocník?