my.ASPItalia.com
ASP.NET
|
HTML5
|
LINQ e Entity Framework
|
Silverlight
|
Windows Phone
|
.NET Framework
|
Windows 8
|
Libro WP7
|
Libro HTML5
|
Corso HTML5
Iscriviti
Login
Newsletter
Home
Articoli
Script
Notizie
FORUM
Blogs
Media
Tutorials
Corsi
Libri
Eventi
Tags
Tutti i forum
Ricerca
FAQ
Fai una domanda
Delegate e SmtpClient.SendAsync
in
.NET Framework
>
ASP.NET 3.5
Ultimo messaggio
www.giuliomarcante.it
il 15 dicembre 2010 alle 11:46
141 messaggi
dal 25 ottobre 2007
www.giuliomarcante.it
Ciao a tutti,
faccio un esempio per farvi capire dove mi sono "incartato".
Ho una pagina web asp.net e vb.net.
Devo inviare 100 e-mail personalizzate, quindi una alla volta.
Nella mia pagina ho un pulsante "INVIA" ed una label che dovrà dirmi, ad esempio, inviate 25, 26, 27 ecc ecc.
La label è inserita in un update panel con un timer.
Ho affrotato il problema in questo modo:
1. ho creato un delegate che mi lancia una funzione INVIA
2. nella funzione INVIA ho creato un smtpClient.SendAsync
3. ad ogni SendCompleted vado a scrivere in un DB l'esito
4. il "timer" in maschera va a leggere il DB e mi aggiorna la label
FIN QUI TUTTO BENE. Funziona.
Ora, il mio problema è che al termine della funzione INVIA non viene richiamata la funzione di callBack agganciata al delegate.
Per prova, ho modificato la funzione INVIA con il send al posto del SendAsync , in questo modo, la funzione di callback è stata richiamata.
Sapreste dirmi come risolvere il problema mantenendo il SendAsync ?
http://www.giuliomarcante.it
- Programmatore e webmaster freelance.
http://www.ebiblio-scuola.it
- Gestione facile e veloce delle pagelle scolastiche
Rispondi
Quoting
Cradle
il 15 dicembre 2010 alle 14:28
1.879 messaggi
dal 01 luglio 2004
Contributi
www.aspitalia.com
|
Blog
Puoi postare un po' di codice? In particolare come gestisci l'invio.
Ti ringrazio,
m.
Rispondi
Quoting
www.giuliomarcante.it
il 16 dicembre 2010 alle 11:00
141 messaggi
dal 25 ottobre 2007
www.giuliomarcante.it
Intanto grazie per la risposta.
Non era un prob di codice, ma di come lanciavo l'applicazione da Visual Studio.
Facevo le modifiche nel codice mentre l'applicazione era in esecuzione, salvavo, e premevo sul pulsante riavvia di Vs2008 (quello fatto come lo stop ma con la freccia che torna indietro). Così facendo non andava.
Ora, stoppando l'applicazione, e utilizzando il pulsante PLAY funziona correttamente. Buono a sapersi.
Ora il mio problema è un altro...
Vedi che nella funzione di callback vado a scrivere in una label "Invio terminato" (su qeusta label, durante l'invio, viene scritto correttamente lo stato di invio es. "inviate 5 su 11").
Quando però vado a modificare la label dalla funzione di callback vedo la proprietà text ancora = "label" che è il valore originale.
Modificando la proprietà questa non viene visualizzata in maschera.
NB: la label e gli altri controlli sono dentro degli update panel... ma anche eliminando completamente ajax, il problema rimane...
Ecco il codice:
Dim myDelegate As New MioDelegate(AddressOf myEpicentro.Invia)
myDelegate.BeginInvoke(ListaEMailDaInviare, New AsyncCallback(AddressOf FunzioneCallback), myDelegate)
Private Sub FunzioneCallback(ByVal ar As IAsyncResult)
lblSituazioneInvio.Text = "Invio terminato"
Dim d As MioDelegate = CType(ar.AsyncState, MioDelegate)
d.EndInvoke(ar)
End Sub
http://www.giuliomarcante.it
- Programmatore e webmaster freelance.
http://www.ebiblio-scuola.it
- Gestione facile e veloce delle pagelle scolastiche
Rispondi
Quoting
Cradle
il 16 dicembre 2010 alle 13:49
1.879 messaggi
dal 01 luglio 2004
Contributi
www.aspitalia.com
|
Blog
Trovi il valore non modificato perchè la tua funzione appartiene comunque all'istanza originaria della pagina, quella che ha avviato il job, e in cui la label è ancora alla versione originale.
Ciao,
m.
Rispondi
Quoting
www.giuliomarcante.it
il 16 dicembre 2010 alle 16:13
141 messaggi
dal 25 ottobre 2007
www.giuliomarcante.it
Intanto grazie, la sett prossima provero' a cercare qualche soluzione (saro' fuori uff x qualche giorno).
Se avete qualche idea su come risolvere, postate pure! :-)
http://www.giuliomarcante.it
- Programmatore e webmaster freelance.
http://www.ebiblio-scuola.it
- Gestione facile e veloce delle pagelle scolastiche
Rispondi
Quoting
Salto rapido
Ultimi messaggi
Tutti i forum
Ricerca
Utenti online
ASP.NET
ASP.NET 2.0
ASP.NET 3.5
ASP.NET 4.0
.NET Framework
Silverlight
Windows Phone
Windows Presentation Foundation e WinForms
Windows Communication e Workflow
ASP - avanzato
ASP - base
SQL Server e MySQL
E-commerce
Hosting
Altri linguaggi e tecnologie
Windows Server, IIS & Security
Libri
OT
Commenti: blogs e notizie
Eventi
Torna al forum
| Feed
RSS
ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.
Community
Effettua il login!
Hai dimenticato la password?
Ultimi messaggi
Trovare un controllo all'interno di un gridview
sessioni scadute
variabile session
(3)
registrazione utenti
(5)
problema con il controllo create user wizard
(3)
Aggiornare contenuto compreso nei tag <asp:panel> e </asp:panel> di una pagina web, richiamandola da area riservata.
(5)
inserimento dati da form
UTENTI ONLINE
In primo piano
Annunciate le versioni ufficiali di Visual Studio 11
Rilasciato Visual Studio 11 Beta: scopri tutte le novità!
Windows 8 Consumer Preview: segui con noi la diretta
I più letti di oggi
Sviluppare applicazioni web mobile con HTML5 e jQuery mobile
Le novità di ASP.NET 4.5 (Community Days 2012)
Metro Style App per Windows 8 con HTML e Javascript
Introduzione ad Entity Framework
Web Camp - ASP.NET MVC 3 (Community Days 2012)
Introduzione a LINQ, LINQ to XML, Object e DataSet
Migliorare le prestazioni di Entity Framework limitando l'uso del metodo Include
Windows Phone 7.5 Developer Day: costruire un'app in 60 minuti
Applicazioni Metro con XAML: cosa cambia per lo sviluppatore .NET con Windows 8
Windows 8: introduzione allo sviluppo
Media
Sviluppare applicazioni web mobile con HTML5 e jQuery mobile
Metro Style App per Windows 8 con HTML e Javascript
Tutti i media
In evidenza
Dal 29 febbraio arriva WinRTItalia.com: tutto sullo sviluppo per Windows 8 e Metro
Migliorare le prestazioni di Entity Framework limitando l'uso del metodo Include
Aprire una popup in Silverlight
Sviluppare applicazioni web mobile con HTML5 e jQuery mobile
Disegnare un'applicazione a servizi con Entity Framework e WCF
Il nuovo tag time in HTML5
Salvare e leggere rapidamente le impostazioni di un'applicazione Windows Phone
Metro Style App per Windows 8 con HTML e Javascript
MISC
I nostri autori
Collabora con noi!
Media Kit - Pubblicità sul nostro network