Domanda

Ho una grande applicazione Web in ASP .NET (non che la tecnologia sia importante qui) che attualmente non ha un modo per essere bloccato per la manutenzione senza che gli utenti attuali perdano il loro lavoro. Dal momento che non ho implementato qualcosa di simile prima, vorrei conoscere alcune delle precauzioni standard e i passi che gli sviluppatori prendono per tale operazione.

Ecco alcune delle domande a cui riesco a pensare:

  • Ogni pagina dovrebbe reindirizzarsi a una pagina "Sito verso il basso per la manutenzione" o esiste un modo più centrale per prevenire l'interazione?
  • Come centralizzare una manutenzione programmata in modo tale che le operazioni dell'utente si blcano prima che il sito venga bloccato. Prevenendo così la perdita di lavoro non salvato.

L'applicazione è basata sui dati e implementa gli ambiti di transazione a livello aziendale. Non utilizza il bilanciamento del carico o la replica. Potrei sbagliare, ma non è giusto "avere il BLL gestire questo. Eventuali suggerimenti o collegamenti agli articoli sarebbero apprezzati.

È stato utile?

Soluzione

Un modo per effettuare una pagina di manutenzione è utilizzare la funzione app_offline.htm di IIS. Utilizzando questa funzione sarai in grado di mostrare la stessa pagina HTML a tutti i tuoi utenti che avvisano la manutenzione.

C'è un bel post qui a Stackoverflow a riguardo. ASP.NET 2.0 - Come utilizzare app_offline.htm.

Un'altra cosa che potresti fare è informare i tuoi utenti che esiste una manutenzione programmata in modo che siano anche consapevoli e smetteranno di utilizzare l'applicazione.

Tutto dipende dal tempo necessario per aggiornare l'applicazione. Se l'aggiornamento è caricare i nuovi file e non prendere più di un minuto o due, è molto probabile che i tuoi utenti non lo vedano.

Altri suggerimenti

Una risposta non risposta che può essere utile: progettare l'applicazione in modo che possa essere aggiornata in modo trasparente ai suoi utenti. Quindi non hai mai una finestra di manutenzione di cui gli utenti devono davvero preoccuparsi. Non è necessario bloccare l'applicazione perché tutto continua a funzionare. Se le transazioni vengono eliminate, questo è un bug nell'applicazione perché esiste un requisito esplicito che l'applicazione possa essere aggiornata con le transazioni in corso, quindi è stato codificato per supportarlo e ci sono test che verificano tale funzionalità.

Considera come esempio Netflix: ha una finestra di manutenzione bloccata? Non che il pubblico in generale abbia mai saputo. :-)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top