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

toutphp 107 Messages postés lundi 24 mai 2004Date d'inscription 5 mai 2010 Dernière intervention - 21 oct. 2008 à 11:48 - Dernière réponse : noualach 1 Messages postés lundi 23 avril 2007Date d'inscription 9 mai 2011 Dernière intervention
- 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 

3 réponses

Répondre au sujet
toutphp 107 Messages postés lundi 24 mai 2004Date d'inscription 5 mai 2010 Dernière intervention - 21 oct. 2008 à 12:42
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de toutphp
leprov 1163 Messages postés vendredi 23 juillet 2004Date d'inscription 21 octobre 2010 Dernière intervention - 21 oct. 2008 à 12:02
0
Utile
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
noualach 1 Messages postés lundi 23 avril 2007Date d'inscription 9 mai 2011 Dernière intervention - 9 mai 2011 à 17:35
0
Utile
[^^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.