cosa accadrebbe se eseguissi un thread per eseguire un processo di lunga durata prima del completamento del ciclo di vita della pagina ASP.NET? Il runtime di ASP.NET terminerà il thread? Questo può portare a comportamenti non definiti?Cosa succede se si attiva un thread in background per eseguirlo prima che ASP.NET completi l'elaborazione della pagina?
Ecco un esempio del codice, che fa girare il thread in background nell'evento Page_Load. È una cosa sicura da fare?
protected void Page_Load(object sender, EventArgs e)
{
Thread newThread = new Thread(new ThreadStart(SomeLongRunningMethod));
newThread.IsBackground = true;
newThread.Start();
}
private void SomeLongRunningMethod()
{
// some long running process goes here...
}
beh questa è precisamente la mia preoccupazione. Ho fatto qualcosa del genere e * sembra * funzionare bene, ma non si sa mai ...;) è per questo che mi piacerebbe scoprire quale sia il comportamento "ufficiale" di ASP.NET. – cruizer
Hai provato cosa succede quando termina la sessione? Mi chiedo in particolare questo caso. – Canavar
Penso che la raccomandazione ufficiale non sia quella di farlo.Invece dovresti passare il lavoro a un servizio o qualche altro processo remoto che sei garantito vivrà abbastanza a lungo –