Question : Comment est-ce que je peux obtenir un email pour libérer sa prise sur un attachement après envoi ?

J'emploie un System.Net.Mail.MailMessage pour envoyer des messages électroniques avec les attachements - que tout travaille très bien. Cependant, après que le courrier ait été envoyé l'article joint est-il encore marqué car en service et donc un fichier temporaire créé spécifiquement pour l'attachement ne peut pas être supprimé est-ce que - le message d'erreur « dossier est-il en service par un autre processus » est montré quand les tentatives de système d'enlever it.

How peuvent moi s'assurer que la serrure est libérée une fois le message a été envoyée ?

Chris Bray
class= > " clair " de
> de " codeSnippet " de class= de
class= " lineNumbers " de
class= de
1 :
2 :
3 :
4 :
5 :
6 :
7 :
8 :
9 :
class= " de l'id= le " codeSnippet841325 de
 ajoutent tous les attachements
                si (attachmentsListView.Items.Count > 0)
                {
                    foreach (ListViewItem AttachmentItem dans attachmentsListView.Items)
                    {
                        Attache d'attachement = nouvel attachement (AttachmentItem.Tag.ToString ());
                        message. Attachments.Add (attache) ;
                    }
                }
class= de

Réponse : Comment est-ce que je peux obtenir un email pour libérer sa prise sur un attachement après envoi ?


Je pense en votre code que vous disposez le message ; essai non individuel d'objets d'attachement… le changement ci-dessous :

EmailDialog_FormClosing vide privé (expéditeur d'objet, FormClosingEventArgs e)
        {

foreach (attachement a dans le message. Attachements)
    a.Dispose () ;

            message. Attachments.Clear () ;
            message. Disposer () ;
            message = nulle ;
            si (iconImageList ! = nulle)
                iconImageList.Dispose () ;
        }
Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us