Ciao Daniele,
Ad un certo punto della mia procedura ho bisogno, sotto una precisa condizione, di ricevere un input dall'utente, ad esempio con un Confirm di Javascript, per procedere.
Purtroppo non puoi farlo. La connessione con l'utente si interrompe nel momento stesso in cui la pagina aspx viene generata. Inoltre, l'utente nel frattempo può aver già chiuso il browser ed essere uscito di casa :)
Uno scenario come questo non può essere sincrono, ovvero il thread non può mettersi indefinitivamente in attesa che l'utente torni, si ricolleghi al sito e in qualche modo dia la conferma per il proseguimento. Esiste anche un altro problema: se ti si dovesse verificare un'eccezione in quel thread, Asp.Net non potrebbe gestirla. Nel post che ti linko di seguito scrivono addirittura che l'eccezione potrebbe far crashare l'intero processo di asp.net :O ma di questo non sono sicuro, non avendolo mai verificato.
http://improve.dk/archive/2008/04/07/spawning-threads-in-aspnet-can-be-dangerous.aspxLa soluzione al tuo problema potrebbe essere un
Workflow. Qui trovi un articolo molto dettagliato sui workflow sequenziali.
http://www.winfxitalia.com/articoli/workflow-foundation/sviluppare-workflow-sequenziali-WF.aspxPotresti strutturare il tuo workflow in varie attività, una delle quali sarà la richiesta di input da parte dell'utente. Quando l'esecuzione si ferma a questo punto, il workflow viene "ibernato" nel database, almeno finché l'utente non torna nel sito e vede che nella pagina c'è un'attività a cui deve dare approvazione. Fornita l'approvazione, il workflow può essere "riesumato" dal database e ripreso dal punto in cui si era interrotto.
Qui trovi un articolo che ti aiuterà a configurare la persistenza del workflow su Sql Server.
http://www.winfxitalia.com/script/59/Persistere-Workflow-SQL-Server.aspxQuelli che ti ho postato sono articoli di più di 3 anni fa, ma restano di fatto dell'ottimo materiale introduttivo. Nel frattempo, il motore di workflow è avanzato alla versione 4. Se ti interessa l'argomento, qui trovi altro materiale aggiornato.
http://msdn.microsoft.com/it-it/netframework/dd980559ciao,
Modificato da BrightSoul il 03 novembre 2011 21.46 -