Я пытаюсь загрузить PDF-файл с удаленного URL-адреса, чтобы добавить его в почтовое вложение.
Мое приложение - это .NET Core 2.1 API.URL-адрес представляет собой одностраничный PDF-файл в облачном фронте AWS.
try
{
using (var httpClient = new HttpClient())
{
string url = AttachmentPath + "/" + AttachmentFilename;
byte[] bytes = await httpClient.GetByteArrayAsync(url);
string fileContentsAsBase64 = Convert.ToBase64String(bytes);
msg.AddAttachment(AttachmentFilename, fileContentsAsBase64, "application/pdf");
}
}
catch (Exception ex)
{
}
Я получаю следующую ошибку:
{System.Net.Sockets.SocketException (6): устройствоне настроен в System.Net.Http.ConnectHelper.ConnectAsync (строковый хост, порт Int32, CancellationToken cancellationToken)}
Что я делаю не так?
Обновление
Благодаря ссылке ниже, я изменил код следующим образом:
private static HttpClient httpClient = new HttpClient();
try
{
string url = AttachmentPath + "/" + AttachmentFilename;
// The following line causes the exception
byte[] bytes = await httpClient.GetByteArrayAsync(url);
string fileContentsAsBase64 = Convert.ToBase64String(bytes);
}
catch (Exception ex)
{
}
Исключение происходит при ожидании httpClient.GetByteArrayAsync.