Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Threading e Delegati
Forum - C# / VB.NET - Threading e Delegati

Pagine: [ 1 2 3 ] Precedente | Prossimo
Avatar
Luk3 (Ex-Member)
Guru


Messaggi: 615
Iscritto: 16/08/2008

Segnala al moderatore
Postato alle 17:58
Domenica, 12/04/2009
Questo topic è stato chiuso dal moderatore

Hola.
Sto facendo un programma per l'invio di mail. Durante l'invio però, questo si blocca e non risponde per un po'.
Ho chiesto consiglio su come risolvere il problema, e mi hanno detto di gestire l'invio in un thread separato..
Qualcuno saprebbe dirmi come devo fare? Grazie

PM
Avatar
ruggy94 (Member)
Guru


Messaggi: 890
Iscritto: 21/04/2008

Segnala al moderatore
Postato alle 18:06
Domenica, 12/04/2009
usa un BackgroundWorker:
Codice sorgente - presumibilmente VB.NET

  1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  2.         bw.RunWorkerAsync()
  3.     End Sub
  4.  
  5.     Private Sub bw_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles bw.DoWork
  6. 'qua metti le operazioni che deve eseguire
  7.     End Sub


PS: Chiaramente nel mio esempio il BackgroundWorker si chiama bw

Ultima modifica effettuata da ruggy94 il 12/04/2009 alle 18:07
PM
Avatar
Luk3 (Ex-Member)
Guru


Messaggi: 615
Iscritto: 16/08/2008

Segnala al moderatore
Postato alle 18:28
Domenica, 12/04/2009
Lo sto facendo in C# con WPF..

PM
Avatar
ruggy94 (Member)
Guru


Messaggi: 890
Iscritto: 21/04/2008

Segnala al moderatore
Postato alle 18:34
Domenica, 12/04/2009
Testo quotato

Postato originariamente da Luk3:

Lo sto facendo in C# con WPF..


...e magari speravi che lo indovinassi :rofl:

PM
Avatar
ruggy94 (Member)
Guru


Messaggi: 890
Iscritto: 21/04/2008

Segnala al moderatore
Postato alle 18:55
Domenica, 12/04/2009

PM
Avatar
Luk3 (Ex-Member)
Guru


Messaggi: 615
Iscritto: 16/08/2008

Segnala al moderatore
Postato alle 20:56
Domenica, 12/04/2009
Testo quotato

Postato originariamente da ruggy94:

Testo quotato

Postato originariamente da Luk3:

Lo sto facendo in C# con WPF..


...e magari speravi che lo indovinassi :rofl:



Si confidavo :rofl:
Mi ero dimenticato di specificare.. dopotutto C# UBER ALLES!

PM
Avatar
ruggy94 (Member)
Guru


Messaggi: 890
Iscritto: 21/04/2008

Segnala al moderatore
Postato alle 21:32
Domenica, 12/04/2009
:D comunque hai trovato quello che cercavi sul link che ti ho dato?

PM
Avatar
Luk3 (Ex-Member)
Guru


Messaggi: 615
Iscritto: 16/08/2008

Segnala al moderatore
Postato alle 9:09
Lunedì, 13/04/2009
Testo quotato

Postato originariamente da ruggy94:

:D comunque hai trovato quello che cercavi sul link che ti ho dato?



No

PM
Avatar
Black Shadow (Founder Member)
Expert


Messaggi: 323
Iscritto: 30/03/2006

Segnala al moderatore
Postato alle 9:52
Lunedì, 13/04/2009
Se devi semplicemente gestire l'evento in un altro Thread puoi fare così:

Codice sorgente - presumibilmente C# / VB.NET

  1. using System.Threading;
  2. ...
  3. //all'interno del metodo in cui vuoi inviare la mail
  4. Thread myThread = new Thread(new ThreadStart(SendMail));
  5. t.Start();



dove SendMail è il metodo che verrà eseguito nel Thread myThread anziché in quello principale e dovrà contenere il codice per inviare la Mail.

Ciao;)

Ultima modifica effettuata da Black Shadow il 13/04/2009 alle 9:53
PM
Pagine: [ 1 2 3 ] Precedente | Prossimo