Thread paralleli e UpdateProgress

venerdì 13 maggio 2011 - 12.52

Andrea9 Profilo | Newbie

ciao a tutti,

da una pagina asp.net, su richiesta utente, viene avviata una simulazione che può durare diversi minuti prima di produrre i risultati.

Per far capire all'utente che la simulazione è in corso ho usato un "asp:UpdateProgress" e fin qui tutto benissimo.

Il problema sorge quando vorrei far aprire (contemporaneamente alla simulazione per "ingannare" l'attesa) in un nuovo tab del browser una pagina che proponga alcune cose a seconda della simulazione scelta dall'utente.

Il problema è che la pagina mi viene caricata a fine simulazione... quando non sarebbe più utile :)


Ho provato a mettere la simulazione in un Thread parallelo:

ThreadPool.QueueUserWorkItem(AddressOf ThreadProc)

e la cosa funzionerebbe se non fosse che l'UpdateProgress termina con il caricamento della pagina alternativa e non attende il thread parallelo che contiene la simulazione.

Quindi l'utente ha l'impressione che la simulazione sia terminata invece non lo è.


Cos'altro potrei provare?

grazie

andrestu Profilo | Expert

perchè non fai partire la simulazione in una nuova finestra, così l'utente continua tranquillamente lavorare sulla pagina originale...


Andrea Restucci - Web Programmer
www.andrearestucci.name
Download and try my FREE custom controls !!!

Andrea9 Profilo | Newbie

La pagina di partenza è organizzata in TAB. nel primo tab i parametri di configurazione dal quale vengono prelevati i valori per la simulazione, nel secondo tab appariranno i risultati della simulazione. Siccome può essere necessario effettuare n simulazioni fino a giungere ai risultati sperati la prima pagina non va toccata se non per modificare i parametri e lanciare una nuova simulazione (ovviamente una volta terminata la precedente).

La scheda sul browser che vorrei aprire in parallelo alla simulazione contiene delle informazioni generali basate sulle scelte fatte per la simulazione, diciamo dei suggerimenti sul scelte alternative.

grazie
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5