Le processus ne peut pas accéder au fichier ....

Résolu
toutphp Messages postés 107 Date d'inscription lundi 24 mai 2004 Statut Membre Dernière intervention 5 mai 2010 - 21 oct. 2008 à 11:48
noualach Messages postés 1 Date d'inscription lundi 23 avril 2007 Statut Membre 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 
A voir également:

3 réponses

toutphp Messages postés 107 Date d'inscription lundi 24 mai 2004 Statut Membre Dernière intervention 5 mai 2010
21 oct. 2008 à 12:42
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
3
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
21 oct. 2008 à 12:02
libérer le fichier correctement? tu dois ouvrir le fichier mais jamais le fermer. Ferme le correctement et ca devrait fonctionner
0
noualach Messages postés 1 Date d'inscription lundi 23 avril 2007 Statut Membre Dernière intervention 9 mai 2011
9 mai 2011 à 17:35
[^^langue3]
0
Rejoignez-nous