Fråga : Hur kan jag få en e-post för att frigöra dess håll på ett tillbehör, når jag har överfört?

Förmiddag I using en System.Net.Mail.MailMessage som överför e-postmeddelanden med tillbehör - som allt fungerar fint. Emellertid efter posta har överförts, det fäste objektet markeras fortfarande, som i bruk och ett tillfälligt sparar därför skapat specifikt för tillbehöret inte kan tas bort - felmeddelandet ”sparar är i bruk vid ett annat processaa” visas, när systemförsöken att ta bort it.

How kan mig se till att låsa är utsläppt en gång meddelandet har överförts?

Chris Bray
> för
1:
2:
3:
4:
5:
6:
7:
8:
9:
" codeBody " " notpretty class= " för tillfogar några tillbehör om (attachmentsListView.Items.Count > 0) { foreach (ListViewItem AttachmentItem i attachmentsListView.Items) { Tillbehörbilaga = nytt tillbehör (AttachmentItem.Tag.ToString ()); meddelande. Attachments.Add (bilaga); } }
" klar "

Svar : Hur kan jag få en e-post för att frigöra dess håll på ett tillbehör, når jag har överfört?


Funderare I i ditt kodifierar dig ordnar meddelandet; inte individtillbehöret anmärker… försök den nedanföra ändringen:

privata utan laga kraft EmailDialog_FormClosing (anmärka avsändaren, FormClosingEventArgs e),
        {

foreach (tillbehör a i meddelande. Tillbehör)
    a.Dispose ();

            meddelande. Attachments.Clear ();
            meddelande. Kassera ();
            meddelande = ogiltigt;
            om (iconImageList! = ogiltigt)
                iconImageList.Dispose ();
        }
Andra lösningar  
 
programming4us programming4us