Я создаю новый файл *.csv, и после его создания я хочу отправить этот файл в виде вложения по электронной почте, но файл заблокирован на 10-15 секунд. Есть ли способ дождаться освобождения файла, а затем отправить этот файл без каких-либо исключений: Процесс не может получить доступ к файлу, поскольку он используется другим процессом.
File.WriteAllText("test.csv", sb.ToString(),Encoding.UTF8);
SendMail();
private static void SendMail()
{
MailMessage mail = new MailMessage("from", "to");
SmtpClient client = new SmtpClient();
client.Port = 25;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.UseDefaultCredentials = false;
client.Host = "host";
mail.Subject = "this is subject";
mail.Body = "this is body";
mail.Attachments.Add(new Attachment("test.csv"));
mail.IsBodyHtml = true;
client.Send(mail);
}
Если я подожду с помощью Thread.Sleep(), я смогу успешно отправить электронное письмо, но я не хочу его использовать. Я не знаю точное время завершения файловой операции. Это консольное приложение. Какие-либо предложения?