ThreadAbortException...problemi

lunedì 11 maggio 2009 - 16.32

augusto890 Profilo | Junior Member

ciao ragazzi...ho un thread che mi esegue delle operazioni...nel momento in cui lancio il metodo thread.abort...ricevo giustamente l'eccezione ThreadAbortException: thread interrotto...allora misi il try con l'eccezione ex as ThreadAbortException...ma la pagina di errore mi si genera lo stesso! sapete spiegarmi perchè? è scritta in asp.net...linguaggio VB!
Sapete aiutarmi? avrei bisogno di un aiuto in frettissima...please!

Jeremy Profilo | Guru

Ciao Augusto.
Dipende da dove hai scritto il costrutto Try...EndTry.
Hai pensato magari di evitare di abortire il thread e magari lasciare che muoia da solo arrivando all'End Sub.

Se mostri un pò di codice e ci dai qualche info in più, vediamo di ragionarci sopra.

facci sapere...
Ciao.

augusto890 Profilo | Junior Member

ora ho risistemato il codice come era prima...
il thread dovrebbe nascerre e morire da solo...l'unico problema è che nel caso incui la mail parte sbagliata...si ha la necessità di fermarla...in pratica il codice era:

private sub invio_mail() try for i=0 to .... .... next catch ex as threadabortexception .... end try end sub
solo che mi appariva la pagina thread interrotto...e per lo più non lo interrompeva neanke!

non so perche!

sapresti aiutarmi?

Jeremy Profilo | Guru

Prova a coprire l'istruzione in cui usi il metodo Thread.Abort con il Try Catch

Private sub StopThreadInvioMail Try ThreadInvioMail.Abort Catch Ex as Ecpetion End Try EndSub

Quello che ti suggerivo io, invece, era di uscire dal Loop, invece di abortire il Thread, quindi:


Private StopThread as boolean=false Private sub StopThreadInvioMail StopThread=true EndSub ----------------------------------------------------------- Private sub invio_mail() for i=0 to .... .... if StopThread then exit for next end sub


Facci sapere....
Ciao

augusto890 Profilo | Junior Member

>Prova a coprire l'istruzione in cui usi il metodo Thread.Abort
>con il Try Catch
>
>
>Private sub StopThreadInvioMail
>Try
>ThreadInvioMail.Abort
>Catch Ex as Ecpetion
>End Try
>EndSub
proverò anche questa soluzione!
>Quello che ti suggerivo io, invece, era di uscire dal Loop, invece
>di abortire il Thread, quindi:
>
>
>
>Private StopThread as boolean=false
>
>Private sub StopThreadInvioMail
>StopThread=true
>EndSub
>-----------------------------------------------------------
>Private sub invio_mail()
> for i=0 to ....
> ....
>if StopThread then exit for
> next
>end sub

avevo gia provato con questa soluzione...ma non mi vede la variabile che cambia! non so perche...devo passargliela in qualche modo forse?

Jeremy Profilo | Guru

Prova a vedere se dichiarando la variabile Shared, risolvi il problema.
Se così risolvi dovresti capire da solo dov'è l'errore.....altrimenti .... fatti sentire

Facci sapere...
Ciao.

augusto890 Profilo | Junior Member

dici che con shared dovrebbe funzionare? proverò e ti aggiornerò! grazie in anticipo!

augusto890 Profilo | Junior Member

ho provato a inserire la variabile come shared...e sembra che me la vede!!!! grandioso!!! grazie mille...
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-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5