2013-05-02 11 views
5

Ok, diciamo che ho un'applicazione Web che deve assolutamente eseguire una sorta di avvio e deve rimanere in esecuzione indefinitamente a prescindere dalla comunicazione che riceve dai client (poiché è un sistema basato su push). Flusso di lavoro di avvio dell'applicazione Web Net per IIS

Ora per il test l'ho ospitato come servizio di Windows, che è ottimo perché mi consente di avere un punto di accesso difficile all'applicazione in cui posso eseguire il bootstrap e ottenere il servizio e in esecuzione

Successivamente, sto cercando di spostare questo nel mondo IIS invece così posso affrontare questo servizio per il mondo esterno ... e ho colpito un intoppo ... Non ho alcuna voce difficile punto dove posso stivali trappola l'applicazione tranne per global.asax, che come ho capito è invocata solo quando i client effettuano una chiamata al server

C'è una zona migliore posso mettere un ingresso all'applicazione e farlo riavviare senza aspettare un client per connettersi ad esso? E quest'area viene chiamata solo una volta o verrà chiamata periodicamente poiché l'applicazione non rientra nell'ambito (per così dire)? Come ho già detto, l'app deve rimanere sempre attiva

risposta

3

C'è una zona migliore in cui posso inserire un ingresso per l'applicazione e riavviarlo senza attendere che un client ci si colleghi?

Sì, c'è. È possibile warm up IIS.

E quest'area viene chiamata solo una volta o verrà chiamata periodicamente poiché l'applicazione non rientra nell'ambito (per così dire)?

Dipende dal metodo in Global.asax utilizzato. Application_Start viene eseguito una volta per l'avvio dell'app.

Come ho detto, l'applicazione deve rimanere in esecuzione in ogni momento

Attenzione, draghi qui. Questo dipende da quanto è critico. Se è necessaria un'affidabilità totale, è necessario utilizzare il bilanciamento del carico e disporre di almeno un altro servizio duplicato. Altre cose da considerare, il pool di applicazioni deve essere riciclato di volta in volta. IIS, OS, l'applicazione ha bug, gli aggiornamenti devono essere installati, il dispositivo di rete non funziona, le interruzioni di corrente si verificano e così via.

+0

haha, sì, avevo appena trovato l'articolo dopo aver postato questo ... sembra promettente ... per quanto riguarda l'app che deve rimanere in esecuzione, è più quindi una funzionalità che richiede una grande quantità di tempo di attività ma non deve essere affidabile per sempre ... il servizio può periodicamente andare su e giù, sto solo moreso alla ricerca di un mezzo per tenerlo in vita il più a lungo possibile per evitare di eseguire il processo di bootstrap di frequente come ci vuole un po 'di tempo per eseguire –

+0

The link su come "scaldare IIS" si applica solo a IIS 7.5 (+?). –

Problemi correlati