Manutenzione di applicazioni ASP.NET con app_offline.htm

Tuesday 23 October 2007

Dalla versione 2.0 di ASP.NET  è stata prevista una modalità estremamente semplice per mettere un'intera applicazione in modalità manutenzione con una banale pagina HTML.
Per fare questo è sufficiente creare il seguente file:

app_offline.htm

e posizionarlo all'interno della root dell'applicazione; è ovvio che nel file HTML potete scrivere tutto ciò che ritenete più opportuno.

Quando il framework "sente" la presenza di questo file all'interno della root dell'applicazione, cessarà di rispondere a qualsiasi chiamata e automaticamente reindirizzerà tutte le richiesta a questa pagina: in questo moodo potrete.NET 2.0 smetterà di eseguire tutte le richieste ed effettuerà un redirect a questa pagina, evitando qualsiasi chiamata a HttpHandler o HttpModules; da questo momento in poi avrete la possibilità di effettuare qualsiasi operazione all'interno dell'applicazione, dal deployment a modifiche all'interno delle parti riservate (come ad esempio la cartella bin).
Può inoltre essere molto utile per effettuare l'unlock e il successivo unload di un database SQL Express o Access i cui file risiedono nella directory app.

Al termine delle operazioni di messa in produzione sarà sufficiente cancellare o rinominare il file app_offiline.htm.

E' comunque evidente come questa utile novità non consenta di effettuare alcun tipo di test succesivamente al deployment, proprio in virtù della modalità con la quale agisce direttamente sull'applicazione.

Rimane solo da evidenziare come su Internet Explorer 6, se è abilitata l'opzione "Mostra messaggi di errore HTTP brevi" e il server restituisce uno status code diverso da HTTP 200 con dimensione inferiore ai 512 bytes, il browser lo ignorerà e al suo posto mostrerà il suo messaggio di errore generico; per evitare questo create il file app_offline.htm con dimensione superiore ai 512 bytes.

 

app_offiline.htm

Add comment




  Country flag
biuquote
  • Comment
  • Preview
Loading