Scenario: Ho un'applicazione ASP.NET enterprise n-Tier distribuita utilizzando progetti di distribuzione Web. Tutti i livelli producono assembly indipendenti che vengono utilizzati dall'applicazione ASP.NET.Come mantenere in vita gli assembly ASP.NET in AppDomain?
Problema: Quando eseguo l'app. per la prima volta dopo la distribuzione, richiede molto tempo per caricare gli assembly dipendenti in memoria. Ma una volta caricata la sua app di illuminazione rapida. Nel caso in cui non ci siano utenti che accedono all'app, IIS scarica gli assembly dalla memoria e quando un utente tenta di accedere all'app su un'istanza successiva, continua a caricare tutti gli assiemi ancora una volta con lo stesso tempo di caricamento necessario ci vuole per la prima volta.
Sto cercando una soluzione che mi permette di mantenere il mio assembly caricati nella memoria persistente sovrascrivendo la natura volatile delle assemblee verso la residenza di memoria.
O qualsiasi altra soluzione che consenta ai miei utenti di utilizzare felicemente l'app risolvendo il problema indicato.
Ho un server condiviso. Non ho accesso alla configurazione di IIS in quel dettaglio. Qualunque modo possiamo farlo tramite codice o configurazione a livello di applicazione? –
@s_ruchit il controllo del pool di applicazioni e dei processi di lavoro è all'ambito IIS, quindi no. La soluzione più comune nella tua situazione è quella di avere un'applicazione che vive su un altro computer (ad esempio una workstation sempre attiva) che colpisce una pagina del tuo sito ogni ~ 10-15 minuti. Un servizio che non ho utilizzato personalmente e che sostiene di farlo è disponibile all'indirizzo http://www.keepaliveforever.com/ –
@ Rex M: È stato favoloso. Non mi sono mai tirato fuori dalla scatola. Potrebbe essere così semplice! Grazie mille. In effetti potremmo scrivere il nostro client http per mantenere l'app sempre attiva. –