Написание метода расширения для создания ZipArchiveEntryC#

Место общения программистов C#
Anonymous
Написание метода расширения для создания ZipArchiveEntry

Сообщение Anonymous »

Я создаю метод расширения, который создает ZipArchiveEntry, аналогичный ZipArchive.CreateEntryFromFile, но загружает его с веб-адреса и записывает поток в ZipArchiveEntry. Любая попытка ожидания Client.GetStreamAsync приводит к созданию потока переноса, размещенного в потоке. Мне интересно, есть ли лучший способ сделать это: вот код, который я сейчас использую.
private static HttpClient Client = new();

public static ZipArchiveEntry CreateEntryFromWebUrl(this ZipArchive archive, string url, string entryName)
{
ArgumentNullException.ThrowIfNull(archive, $"Bad {nameof(ZipArchive)}");
var entry = archive.CreateEntry(entryName);
using Stream entrystream = entry.Open();
using var urlStream = Client.GetStreamAsync(url).GetAwaiter().GetResult();
urlStream.CopyTo(entrystream);
return entry;
}


Подробнее здесь: https://stackoverflow.com/questions/798 ... chiveentry

Вернуться в «C#»