Le processus ne peut pas accéder au fichier .... [Résolu]

Signaler
Messages postés
107
Date d'inscription
lundi 24 mai 2004
Statut
Membre
Dernière intervention
5 mai 2010
-
Messages postés
1
Date d'inscription
lundi 23 avril 2007
Statut
Membre
Dernière intervention
9 mai 2011
-
Bonjour à tous,

j'ai un programme qui vérifie la présence de fichier dans un répertoire, puis les envoies par mail et ensuite les bouges.
Mais au moment de les bouger j'ai ceci : Le processus ne peut pas accéder au fichier

Malgré une attente de 10s dans le processus avant de le bouger (j'ai l'impression que mon propre process bloque l'accès à ce fichier)

Auriez-vous une solution

Merci,

Cyril 

3 réponses

Messages postés
107
Date d'inscription
lundi 24 mai 2004
Statut
Membre
Dernière intervention
5 mai 2010

En fait ce n'est pas le fichier que je devais libérer mais faire un dispose sur mon objet qui envoie le mail ...

je m'explique :

Avant je faisais comme ceci :

        /// <summary>
        /// Envoie un mail avec les informations précisées
        /// </summary>
        public void Send()
        {
            MailMessage mM = new MailMessage();
            mM.Subject = this.MailSubject;
            mM.IsBodyHtml = false;
            mM.Body = this.MailBody;

            mM.From = this.MailFrom;

            foreach (MailAddress ma in this.MailCC)
                mM.CC.Add(ma);

            foreach (MailAddress ma in this.MailBcc)
                mM.Bcc.Add(ma);

            foreach (MailAddress ma in this.MailTo)
                mM.To.Add(ma);

            foreach (String a in this.PathsAttach)
                mM.Attachments.Add(new Attachment(a));

            SmtpClient sC = new SmtpClient(this.ServerSmtp);
            sC.Send(mM);
        }

et Ajoutant la ligne en rouge cela fonctionne :

        /// <summary>
        /// Envoie un mail avec les informations précisées
        /// </summary>
        public void Send()
        {
            MailMessage mM = new MailMessage();
            mM.Subject = this.MailSubject;
            mM.IsBodyHtml = false;
            mM.Body = this.MailBody;

            mM.From = this.MailFrom;

            foreach (MailAddress ma in this.MailCC)
                mM.CC.Add(ma);

            foreach (MailAddress ma in this.MailBcc)
                mM.Bcc.Add(ma);

            foreach (MailAddress ma in this.MailTo)
                mM.To.Add(ma);

            foreach (String a in this.PathsAttach)
                mM.Attachments.Add(new Attachment(a));

            SmtpClient sC = new SmtpClient(this.ServerSmtp);
            sC.Send(mM);

            mM.Dispose();
        }

Merci de ta piste qui m'a bien fait penser à ça
Messages postés
1160
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
21 octobre 2010
17
libérer le fichier correctement? tu dois ouvrir le fichier mais jamais le fermer. Ferme le correctement et ca devrait fonctionner
Messages postés
1
Date d'inscription
lundi 23 avril 2007
Statut
Membre
Dernière intervention
9 mai 2011

[^^langue3]