Domanda

sono stato in grado di leggere fino che ASP.NET rileva le modifiche ai file specifici come i file aspx, DLL e altri solo. Esso si riavvierà automaticamente, terminare le richieste di esercizio in corso e nuove richieste con i nuovi file distribuiti.

Ma ciò che sta accadendo nel tempo dal primo file copiato beeing fino all'ultimo è stato scambiato? Se io scambio il primo file DLL, poi arriva una richiesta, ma gli altri file DLL sono in una versione precedente - sarà semplicemente in crash? Sarà asp.net attendere per qualche secondo e si inizia nuovo solo dopo X secondi di inattività (rilevante) file modifiche?

Thx!

È stato utile?

Soluzione

Hai 4 domande qui: Quello che sta accadendo nel tempo dal primo file copiato beeing fino all'ultimo uno è stato scambiato -? C'è un tempo insieme mentre .net aspetta di vedere se tutti gli altri file sono stati modificati prima del suo inizio fino il nuovo dominio app con la nuova DLL del carico.

Se io scambio il primo file DLL, poi arriva una richiesta, ma gli altri file DLL sono in una versione precedente - sarà semplicemente in crash -? Dipende da quale codice cambiamenti sono nella DLL di . Se la nuova DLL può funzionare bene con il vecchio codice di allora andrà bene. Ma se il dominio applicazione gira la nuova DLL e il nuovo dll dipende da qualcosa che non c'è ancora ... allora sì che sarà un'eccezione.

asp.net attendere alcuni secondi e si avvia solo nuovo dopo X secondi di cambiamenti (rilevante) di file -? Sì. Non sono stato in grado di trovare il tempo che il tempo è. Ma nella mia esperienza personale è da qualche parte nel secondo range 1-2.

Ho anche trovato una buona spiegazione qui sul dominio app e ri-caricamento delle DLL: http://odetocode.com/Articles/305.aspx

  

Se si copia un dll aggiornata in un   bin sottodirectory dell'applicazione, il   Runtime ASP.NET riconosce c'è   nuovo codice da eseguire. Dal momento che ASP.NET   non si può scambiare la dll nella esistente   AppDomain, inizia un nuovo dominio di applicazione.   Il vecchio dominio di applicazione è “fuga   fermato”, vale a dire, le richieste esistenti   sono autorizzati a terminare l'esecuzione, e   una volta che sono tutti rifiniti la   AppDomain può scaricare. Il nuovo   AppDomain inizia con il nuovo codice e   comincia a prendere tutte le nuove richieste.

     

In genere, quando una DLL carica in un   processo, il processo blocca il DLL e   Non è possibile sovrascrivere il file su disco.   Tuttavia, AppDomain hanno una caratteristica   noto come Shadow Copy che permette   assemblaggi di rimanere sbloccato e   sostituibile sul disco.

     

Il runtime di ASP.NET con inizializza   Shadow Copy abilitato per il bidone   directory. Il dominio di applicazione copierà qualsiasi   dll di cui ha bisogno dalla directory bin   una posizione temporanea prima del bloccaggio   e caricamento del DLL in memoria.   Shadow Copy permette di sovrascrivere qualsiasi   DLL nella directory bin nel corso di una   aggiornamento senza prendere il web   applicazione offline.

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