簡體   English   中英

c#刪除文件失敗,正在被另一個進程使用

[英]c# failed delete file, it is being used by another process

我的代碼怎么了? 我想念什么嗎? 我未能刪除文件,它顯示錯誤“正在被另一個進程使用。請幫助

            string filename = "C:/File/testExport_1234.pdf";
            string htmlfile = "C:/file/1234.html";

            using (StreamReader reader = new StreamReader(htmlfile))
            {
                MailMessage message = new MailMessage(emailFrom, emailTo, emailSubject, reader.ReadToEnd());
                message.IsBodyHtml = true;

                Attachment data = new Attachment(filename, MediaTypeNames.Application.Octet);

                data.Name = filename;  // set name here
                message.Attachments.Add(data);

                SmtpClient client = new SmtpClient("smtp.live.com");
                client.UseDefaultCredentials = false;
                client.Port = 587;
                client.EnableSsl = true;
                client.Credentials = new NetworkCredential("xxxxx@hotmail.com", "xxxxx", "hotmail.com");

                try
                {
                    client.Send(message);
                }
                catch (Exception ex)
                {
                    Console.WriteLine("Exception caught in CreateMessageWithAttachment(): {0}",
                                ex.ToString());
                }
            }

            if (File.Exists(filename))
            {

                File.Delete(filename);
                //File.Delete(path + code + ".html");
            }

您需要處理SMTP客戶端以及MailMessage。 Using語句:

 using (MailMessage Message = new MailMessage)
{ .....
   .......
    using (SmtpClient client = new SmtpClient)
    {
     .........
    }
}

要處置附件,請致電:

DisposeAttachments();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM