Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    [.NET Framework 2.0,C#,VB.NET] Liberare le risorse

    Ho una funzione che invia dei file in attach ad una mail.
    Una volta avvenuto l'invio vorrei eliminare tali file che non mi servono più, ma il metodo
    File.Delete() mi da l'eccezione IOException perchè anche se inviati tali file restano per
    qualche minuto (più o meno una decina) impegnati dal processo.
    C'è un comando che mi permetta di liberare tali file per poterli poi eliminare?
    Grazie

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Bisogna vedere con quale metodo vengono agganciati all'email. E' probabile che si debba ricercare in quel codice un oggetto che tiene impegnato il file e ne impedisce la cancellazione.

    Posta eventualmente la parte di codice significativa.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    I file vengono allegati alla mail così:

    codice:
    If Session("CompletePathFile1") <> "" Then
      mail.Attachments.Add(New Attachment(Session("CompletePathFile1")))
    End If
    
    If Session("CompletePathFile2") <> "" Then
       mail.Attachments.Add(New Attachment(Session("CompletePathFile2")))
    End If
    poi spedisco la mail

    Server.Send(mail)

    dopo di che se cerco di cancellare i file inviati ad esempio con
    File.Delete(Session("CompletePathFile1"))

    Mi lancia l'eccezione IOException

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Sorvolo sul fatto che si tratta di una Web Application e, come tale, andrebbe trattata nel forum ASP.NET......

    E' probabile che gli oggetti creati per allegare il file o spedire il messaggio implementino IDisposable o abbiano un metodo che consente loro di "chiudere" le risorse utilizzate, per poter effettuare la cancellazione.

    Verifica la documentazione MSDN per le classi utilizzate per vedere se vi sono indicazioni in merito.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  5. #5
    Mentre te lo scrivevo mi hai fatto venire in mente che forse poteva essere un problema legato
    alla mail che invio!
    Ho aggiunto dopo l'invio
    Mail.Dispose()
    e sembra proprio che io possa eliminare i file! ora testo un pochetto meglio, grazie mille
    per l'aiuto!

  6. #6
    Originariamente inviato da alka
    Sorvolo sul fatto che si tratta di una Web Application e, come tale, andrebbe trattata nel forum ASP.NET......

    E' probabile che gli oggetti creati per allegare il file o spedire il messaggio implementino IDisposable o abbiano un metodo che consente loro di "chiudere" le risorse utilizzate, per poter effettuare la cancellazione.

    Verifica la documentazione MSDN per le classi utilizzate per vedere se vi sono indicazioni in merito.
    Si esatto come ho scritto sopra è proprio così!
    L'ho postato qua perche pensavo fosse una cosa relativa al Framework e non alla web application
    infondo la libreria Mail sta proprio nel framework

  7. #7
    Funziona!

  8. #8
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Originariamente inviato da Max Mercury
    Si esatto come ho scritto sopra è proprio così!
    Ottimo!

    Originariamente inviato da Max Mercury
    L'ho postato qua perche pensavo fosse una cosa relativa al Framework e non alla web application infondo la libreria Mail sta proprio nel framework
    Anche le classi delle Web Application "stanno nel framework"... le domande che riguardano ASP.NET vanno poste comunque in quell'area in futuro.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.