XML-файл, запись в файл, отправка файла по почте
есть функция, которая записывает в XML-файл информацию о БД:
public static async Task Connection()
{
using (NpgsqlConnection connection = new NpgsqlConnection(connectionData))
{
await connection.OpenAsync();
XmlDocument xDoc = new XmlDocument();
xDoc.Load(@"C:\Users\Николай\source\repos\Junior Backend Test\Junior Backend
Test\Result.xml");
XmlElement? xRoot = xDoc.DocumentElement;
XmlElement dbDataElem = xDoc.CreateElement("databasedata");
XmlText dbConnText = xDoc.CreateTextNode($"Строка подключения: {connection.ConnectionString}");
XmlText dbStateText = xDoc.CreateTextNode($"Состояние: {connection.State}");
XmlElement dbConnElem = xDoc.CreateElement("connection");
XmlElement dbStateElem = xDoc.CreateElement("state");
dbConnElem.AppendChild(dbConnText);
dbStateElem.AppendChild(dbStateText);
dbDataElem.AppendChild(dbConnElem);
dbDataElem.AppendChild(dbStateElem);
xRoot?.AppendChild(dbDataElem);
xDoc.Save(@"C:\Users\Николай\source\repos\Junior Backend Test\Junior Backend Test\Result.xml");
connection.Close();
}
}
Так же, есть функция, которая этот файл отсылает на почту:
private static string mailFrom = "";
private static string mailPassword = "";
private static string nameMail = "";
private static string mailTo = "";
public static async Task SendToMail()
{
MailAddress from = new MailAddress(mailFrom, nameMail);
MailAddress to = new MailAddress(mailTo);
using (MailMessage mail = new MailMessage(from, to))
{
mail.Subject = "Отправка XML-файла";
mail.Body = "<h3>Здравствуйте, я отправляю вам файл со списком доступности сайтов.</h3>";
mail.IsBodyHtml = true;
mail.Attachments.Add(new Attachment(@"C:\Users\Николай\source\repos\Junior Backend Test\Junior Backend Test\Result.xml"));
using (SmtpClient smtp = new SmtpClient("smtp.gmail.com", 587))
{
smtp.Credentials = new NetworkCredential(mailFrom, mailPassword);
smtp.EnableSsl = true;
await smtp.SendMailAsync(mail);
}
}
Console.WriteLine("Сообщение отправлено!");
}
Проблема в том, когда я вызываю функцию записи данных в файл, то она успешно записывает их. Но, стоит мне после вызвать функцию отправки этого файла на почту, то функция Connection(которая записывает данные в файл) в дебаге просто пропускает строку сохранения данных. Помогите пожалуйста, вообще нет мыслей по поводу этой проблемы.
var stateBD = PostgresqlConnection.Connection().GetAwaiter();
var sendFile = SendFile.SendToMail().GetAwaiter();