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

Messages postés
107
Date d'inscription
lundi 24 mai 2004
Dernière intervention
5 mai 2010
- - Dernière réponse : noualach
Messages postés
1
Date d'inscription
lundi 23 avril 2007
Dernière intervention
9 mai 2011
- 9 mai 2011 à 17:35
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 
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
Messages postés
107
Date d'inscription
lundi 24 mai 2004
Dernière intervention
5 mai 2010
3
Merci
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 105 internautes nous ont dit merci ce mois-ci

Commenter la réponse de toutphp
Messages postés
1163
Date d'inscription
vendredi 23 juillet 2004
Dernière intervention
21 octobre 2010
0
Merci
libérer le fichier correctement? tu dois ouvrir le fichier mais jamais le fermer. Ferme le correctement et ca devrait fonctionner
Commenter la réponse de leprov
Messages postés
1
Date d'inscription
lundi 23 avril 2007
Dernière intervention
9 mai 2011
0
Merci
[^^langue3]
Commenter la réponse de noualach

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.