Tôi đang tạo tệp trong ổ đĩa cục bộ có nội dung bằng cách sử dụng mã bên dưới.Quá trình không thể truy cập tệp, vì nó đang được sử dụng bởi một quy trình khác
File.WriteAllLines(path, contents);
Tôi đính kèm tệp này vào thư và gửi ngang qua nhóm. Sau khi thư gửi tôi cần phải xóa các tập tin, để xóa các tập tin Tôi đang sử dụng mã dưới đây nhưng tôi nhận được lỗi runtime
File.Delete(path);
Thông báo lỗi: Quá trình này không thể truy cập các tập tin, vì nó đang được sử dụng bởi một quy trình khác
theo mặc định Phương thức WriteAllLines() đóng tệp nhưng vẫn được mở bởi một quy trình khác. Tôi chỉ có thể xóa tệp bằng cách thực thi mã sau một thời gian nhưng đây không phải là kịch bản. Tôi cần xóa nó sau khi thư đã được gửi.
Cập nhật
System.Net.Mail.MailMessage mailMessage = new System.Net.Mail.MailMessage();
mailMessage.To.Add(new System.Net.Mail.MailAddress(recipient, ToName));
mailMessage.From = new System.Net.Mail.MailAddress(From, FromName);
mailMessage.Subject = Subject; // "Outlook calendar as attachment"; // modified by Srikanth J on 28/06/2012
mailMessage.Body = "This is a test message";
System.Net.WebClient webclient = new System.Net.WebClient();
webclient.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials;
for (int i = 0; i < item.Attachments.Count; i++)
{
string url = item.Attachments.UrlPrefix + item.Attachments[i];
SPFile file = item.ParentList.ParentWeb.GetFile(url);
mailMessage.Attachments.Add(new System.Net.Mail.Attachment(file.OpenBinaryStream(), file.Name));
}
System.Net.Mail.Attachment mailAttachment = new System.Net.Mail.Attachment(path);
mailMessage.Attachments.Add(mailAttachment);
smtp.Send(mailMessage);
Any help is appriciated, Cảm ơn bạn.
Dường như quy trình đính kèm tệp vào thư vẫn giữ tệp? –
Bạn có thể đăng mã nơi bạn đính kèm tệp không? Rất có thể vấn đề là @CuongLe được đề xuất. –
@CuongLe Bạn có nghĩa là ngay cả sau khi gửi thư nó vẫn được giữ bởi quá trình gửi thư? – Srikanth