413 messaggi dal 22 giugno 2007
Il seguente script, che mi permette di inviare tale news a n° clienti, mi causa questo errore:
"The process cannot access the file 'D:\Inetpub\webs\centronauticolignanocom\public\060920111156.jpg' because it is being used by another process."

SmtpClient smtpClient = new SmtpClient();
        MailMessage mess = new MailMessage();
        MailAddress mittente = emailAzienda;
        mess.From = mittente;
        mess.IsBodyHtml = true;
        mess.Subject = "Ultime novità inserite";

        CentroNauticoAnnunci.cod.cnlDataSetTableAdapters.utentiNewsletterDataTableTableAdapter ta = new CentroNauticoAnnunci.cod.cnlDataSetTableAdapters.utentiNewsletterDataTableTableAdapter();
        CentroNauticoAnnunci.cod.cnlDataSet.utentiNewsletterDataTableDataTable table = ta.GetData();
        foreach (CentroNauticoAnnunci.cod.cnlDataSet.utentiNewsletterDataTableRow row in table.Rows)
        {
            mess.To.Add(new MailAddress(row.Email, row.Nominativo));
            string body = testNewsletter.Replace("Nominativo", row.Nominativo);

            AlternateView htmlView = AlternateView.CreateAlternateViewFromString(body, null, "text/html");

            LinkedResource logo = new LinkedResource(server.MapPath("~/images/logoEmail.jpg"));
            logo.ContentId = "logo";
            htmlView.LinkedResources.Add(logo);

            LinkedResource image = new LinkedResource(server.MapPath(linkImage), MediaTypeNames.Image.Jpeg);
            image.ContentId = "foto";
            htmlView.LinkedResources.Add(image);

            mess.AlternateViews.Add(htmlView);
            smtpClient.Send(mess);

            htmlView.LinkedResources.Clear();
            mess.AlternateViews.Clear();
            mess.To.Clear();
        }

        mess.Dispose();
        string path = server.MapPath(linkImage);
        File.Delete(path);


Qualcuno saprebbe come aiutarmi?
desy_dm wrote:

Qualcuno saprebbe come aiutarmi?

fai attenzione che nessuna di queste classi blocchi il file. se hanno un metodo Dispose, poi, invocalo (o meglio ancora, usa un blocco using). .

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.