23 messaggi dal 30 marzo 2017
Dopo aver correttamente generato ed inviato una mail con allegato non mi fa cancellare l'allegato dandomi messaggio di errore sul comando File.delete :
"il processo non può accedere al file perchè in uso da altro processo"



myClient.Port = "587"
myClient.Host = "smtp.gmail.com"
myClient.UseDefaultCredentials = False
myClient.Credentials = New System.Net.NetworkCredential(sInd_Ori, sPass)
myMessage.From = New MailAddress(sIndirizzo_Origine)
myMessage.Subject = "invio fatture da pv4"
myMessage.BodyEncoding = System.Text.Encoding.UTF8
myMessage.Body = "elenco fatture"
'----------------------------
' allegato
oAllegato = New Net.Mail.Attachment(sCartellaFiles + "\" + sNomeFileZip)
myMessage.Attachments.Add(oAllegato)
'-----------------------------
myClient.EnableSsl = True
myMessage.To.Add(sIndirizzo_Destinazione)
myClient.Send(myMessage)
RTB.Text += "EMAIL INVIATA CORRETTAMENTE" & vbLf
myMessage = Nothing
myClient = Nothing
smtpServer = Nothing
oAllegato = Nothing
'-----------------------------------------
File.Delete(sCartellaFiles + "\" + sNomeFileZip)
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao,
myMessage = Nothing
myClient = Nothing
smtpServer = Nothing
oAllegato = Nothing

settare le variabili a Nothing non ha alcuna utilità pratica. Se gli oggetti implementano IDisposable, devi invocare il metodo Dispose o meglio avvolgerli in un blocco Using. Questo è il modo corretto per distruggere gli oggetti.
        Using client As New SmtpClient()
            Using message As New MailMessage()
                Using attachment As New Attachment("nomefile")

                    '...

                End Using
            End Using
        End Using



A quel punto, penso il file risulterà eliminabile.

ciao,
Moreno

Enjoy learning and just keep making

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.