devi salvarlo dalla pagina che avvia il thread, non dal thread già avviato. Li puoi modificare la sessione come in tutte le pagine aspx.
Te lo scrivo in C# che vb.net non lo conosco.
Dentro una pagina aspx:
codice:
private class Interscambio
{
public Thread Thread;
public bool Completato;
}
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
if (Session["job"] != null && ((Interscambio)Session["job"]).Completato == false)
{
lblResult.Text = "Lavoro ancora in corso, impossibile avviarne un'altro.";
}
else
{
Interscambio param = new Interscambio();
param.Completato = false;
param.Thread = new Thread(new ParameterizedThreadStart(threadProc));
Session["job"] = param;
lblResult.Text = "Lavoro avviato.";
}
}
private void threadProc(object obj)
{
Interscambio param = (Interscambio)obj;
/////
Thread.Sleep(10000); // Fa quello che deve fare
/////
param.Completato = true;
}