Aktualizujete svoji .NET webovou aplikaci? Může se hodit app_offline.htm

10. července 2024

Webové stránky psané v .NETu jsou dnes nedílnou součástí internetového světa. I takové stránky je ovšem třeba pravidelně aktualizovat, stejně jako jakoukoli jinou aplikaci. U webových aplikací ale často nastává problém – aplikace běží nepřetržitě, návštěvníci ji stále využívají a v důsledku toho mohou na serveru být zamčené nějaké soubory, které je ovšem potřeba aktualizovat také.

Co s tím?

Nejjednodušší je samotnou aplikaci vypnout – zastavit tzv. aplikační pool k ní přidružený. Na to ovšem nemusíte mít k dispozici potřebná oprávnění a nástroje – např. když využíváte webhosting u jiné společnosti, která vám dá k dispozici pouze přístup přes protokol FTP. Pro tento případ naštěstí existuje jednoduchý nástroj: soubor app_offline.htm.

Pokud hledáte ten správný hosting pro své .NET webové aplikace, pak se určitě podívejte na naši nabídku Windows hostingů na CZECHIA.COM. Poskytujeme robustní řešení pro správu a nasazování aplikací, snadný přístup k FTP rozhraní, podporujeme také DKIM u e-mailových účtů, TLS 1.3 a 1.2 nebo HTTP/3 + QUIC. 

Jak se soubor app_offline.htm používá?

Ve chvíli, kdy potřebujete webovou aplikaci odstavit, ať už kvůli její aktualizaci nebo z jakéhokoli jiného důvodu, stačí v kořenové složce (rootu) aplikace vytvořit soubor pojmenovaný „app_offline.htm“. Nejjednodušší je vytvořit si tento soubor na svém počítači předem a v případě potřeby jej jen nahrát na server pomocí FTP. Soubor by měl obsahovat jednoduchou HTML stránku (bez serverových skriptů), která bude informovat návštěvníky vašich webových stránek, že stránky momentálně nejsou k dispozici, protože na nich (například) probíhá údržba nebo aktualizace. Ve chvíli, kdy je vše hotovo a chcete aplikaci znovu spustit, stačí soubor ze serveru zase odstranit nebo jej jen přejmenovat na cokoli jiného, např. „app_offline-zaloha.htm“, abyste jej mohli v budoucnu znovu jednoduše použít.

Jak přesně to funguje?

Webový server automaticky detekuje přítomnost souboru s názvem „app_offline.htm“ v kořenové složce webové aplikace při každém požadavku (requestu) na jakoukoli webovou stránku v rámci vašeho webu. Ve chvíli, kdy takový soubor nalezne, vydá aplikaci pokyn k jejímu ukončení. Probíhá to stejným způsobem, jako když sami zkusíte vypnout její aplikační pool. I zde platí, že pokud se aplikace v časovém limitu (daném nastavením proměnné „shutdownTimeLimit“ na serveru) neukončí, proces se ukončí násilně. Návštěvníkům stránek se pak místo regulérního obsahu stránek odesílá pouze obsah souboru „app_offline.htm“ s HTTP kódem 503 („Service unavailable“). V tu chvíli je aplikace zastavena a nebudou v ní fungovat žádné serverové skripty (proto by ani stránka „app_offline.htm“ neměla žádné serverové skripty obsahovat). Tato situace trvá, dokud není soubor „app_offline.htm“ ze serveru zase odstraněn nebo přejmenován.

Šlo by to zautomatizovat?

Pokud už máte zautomatizované samotné nasazení stránek do produkčního prostředí, lze vytváření a opětovné odstraňování souboru „app_offline.htm“ při aktualizaci zautomatizovat také. Detailní popis by byl mimo rozsah tohoto článku, ale ve stručnosti je potřeba si předem připravit šablonu souboru „app_offline.htm“ (nejlépe ji pro jistotu pojmenovat nějak jinak, např. „app_offline-sablona.htm“), nastavit tomuto souboru, aby se ve výchozím nastavení na server nekopíroval, a poté si do procesu aktualizace přidat kroky před samotnou aktualizací a po ní, kdy se napřed na server tento soubor nahraje pod názvem „app_offline.htm“, pak se provede samotná aktualizace a nakonec se soubor „app_offline.htm“ opět odstraní. Podrobný popis lze nalézt na stránkách společnosti Microsoft.

Pro .NET webové aplikace hostované nás na CZECHIA.COM je použití souboru app_offline.htm ideální pro zajištění bezproblémové údržby a aktualizací, aniž by došlo k narušení provozu vašich stránek. Czechia zároveň poskytuje 24/7 technickou podporu všem zákazníkům. V případě jakýchkoliv případných problémů, vám jsme tu pro vás.

Mohlo by vás také zajímat

Nejnovější

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *