Описание тега iasyncenumerable

IAsyncEnumerable<t> предоставляет IAsyncEnumerator<t> перечислитель, обеспечивающий асинхронный перебор значений типа T </t></t>
2 ответа

IAsyncEnumerable не работает в C# 8.0 превью

Я играл с предварительным просмотром C# 8.0 и не могу получить IAsyncEnumerable работать. Я попробовал следующее public static async IAsyncEnumerable&lt;int&gt; Get() { for(int i=0; i&lt;10; i++) { await Task.Delay(100); yield return i; } } Я исполь…
06 дек '18 в 12:19
1 ответ

Как вырваться из IAsyncEnumerable при итерации?

В C# 8 добавлена ​​поддержка асинхронных блоков итераторов, поэтому вы можете ждать и возвращать IAsyncEnumarator вместо IEnumerable: public async IAsyncEnumerable&lt;int&gt; EnumerateAsync() { for (int i = 0; i &lt; 10; i++) { yield return i; await…
23 дек '18 в 18:25
2 ответа

IAsyncEnumerable<> не работает в VS 2019 превью 2 (Core 3.0 превью 1)

После установки VS 2019 preview 2 я получаю множество ошибок. Демонстрационный код ошибки: public class Class1 { public static async IAsyncEnumerable&lt;int&gt; Get() { for( int i = 0; i &lt; 10; i++ ) { await Task.Delay( 100 ); yield return i; } } …
25 янв '19 в 11:29
3 ответа

Разница между "ToListAsync()" и "AsAsyncEnumerable().ToList()"

Функцию нужно вернуть Task&lt;List&lt;Record&gt;&gt;После оба варианта возвращаются Task&lt;List&lt;Record&gt;&gt;какой из них более эффективен? Есть ли здесь какой-нибудь стандартный способ? Опция 1: Task&lt;List&lt;Record&gt;&gt; GetRecords() { re…
2 ответа

Почему этот метод ParallelForEachAsync никогда не возвращается?

Я пытаюсь выполнить этот код асинхронно и параллельно, используя метод ParallelForEachAsync из этого проекта: https://github.com/Dasync/AsyncEnumerable. К сожалению, метод никогда не возвращается. SampleProduct - это простой DTO, который имеет логич…
0 ответов

IAsyncEnumerable с SqlDataReader и токен отмены зависает при отмене

Я пытался протестировать новую функцию IAsyncEnumerable в C# 8(а также предварительный просмотр.NET Core 3 WinForm), но все, кажется, связывается, когда я пытаюсь отменить задачу. Приостановка отладчика на reader.ReadAsync в то время как цикл, продо…
1 ответ

Как потоки Async по сравнению с реактивным расширением?

Как сравнить следующие два? Rx более мощный? Реактивное расширение: var observable = Observable.Create&lt;char&gt;(async (observer, cancel) =&gt; { while (true) { string line = await sr.ReadLineAsync(); if (line == null) break; observer.OnNext(line)…
20 окт '19 в 12:22
1 ответ

Существует ли класс C#, например Queue, который реализует IAsyncEnumerable?

И то и другое Queue а также ConcurrentQueue осуществлять IEnumerable но нет IAsyncEnumerable. Есть ли в NuGet стандартный класс или класс, реализующийIAsyncEnumerable так что, если очередь пуста, результат MoveNextAsync не завершается до тех пор, по…
21 окт '19 в 14:04
5 ответов

'AsyncEnumerableReader' достиг настроенного максимального размера буфера при перечислении значения

Я использую метод async/await, возвращающий IAsyncEnumerable<> для извлечения строк из базы данных SQL Server и предоставления их через интерфейс Web API .Net Core 3.0. Он отлично работает, пока я не превысил 8192 строки. Он не работает для строк за…
22 ноя '19 в 06:04
0 ответов

создание фиктивной настройки для IAsyncEnumerable в C# с использованием moq

Я пытаюсь протестировать метод QueryAllScheduledJob. Он содержит вызов GetScheduledJobs, который возвращает коллекцию IAsyncEnumerable. Я создал настройку для GetScheduledJobs. Я получаю исключение типа "нулевой экземпляр" для GetScheduledJobs. В мо…
10 июн '20 в 07:19
0 ответов

C# 7.3 IAsyncEnumerator состояние объекта недопустимо

Я пытаюсь создать стабильный IAsyncEnumerator для коллекции. Я использую C# 7.3, а целевые платформы -.Net Standard 2.1 и.Net Standard 2.0. Счетчик работает стабильно только при отладке. По сути, я беру список объектов длиной в 4 штуки. Обещание ста…
08 июл '20 в 06:55
2 ответа

Разъяснение того, как IAsyncEnumerable работает с веб-API ASP.NET

Я столкнулся с интересным поведением при изучении IAsyncEnumerable в проекте веб-API ASP.NET. Рассмотрим следующие примеры кода: // Code Sample 1 [HttpGet] public async IAsyncEnumerable&lt;int&gt; GetAsync() { for (int i = 0; i &lt; 10; i++) { await…
2 ответа

Почему использование IAsyncEnumerable медленнее, чем возврат async/await Task &lt;T&gt;?

В настоящее время я тестирую асинхронные потоки C# 8, и кажется, что, когда я пытаюсь запустить приложение, используя старый шаблон использования async/await и возврата Task>, это кажется быстрее. (Я измерил его с помощью секундомера и попробовал за…
3 ответа

Как заставить IAsyncEnumerable уважать CancellationToken

Изменить: требования этого вопроса изменились. См. Раздел " Обновление " ниже. У меня есть метод асинхронного итератора, который создает IAsyncEnumerable&lt;int&gt; (поток чисел), одно число каждые 200 мсек. Вызывающий этот метод использует поток, н…
04 окт '19 в 13:39
1 ответ

Правильная утилизация в методах IAsyncEnumerable?

Ответ на этот вопрос может заключаться в том, что это невозможно, но вопрос в следующем: предположим, что у вас есть метод C# для использования строк в TextReader что возвращается IAsyncEnumerable&lt;string&gt;. Как вы гарантируете, что когдаDispose…
11 окт '19 в 19:34
2 ответа

Как остановить распространение асинхронного потока (IAsyncEnumerable)

У меня есть метод, который принимает IAsyncEnumerable в качестве аргумента, а также возвращает IAsyncEnumerable. Он вызывает веб-метод для каждого элемента во входном потоке и передает результат в выходной поток. Мой вопрос: как я могу получить увед…
1 ответ

Как отправить IAsyncEnumerator из WebAPI и передавать данные через HttpClient в C# 8+?

Существуют примеры чтения данных из IAsyncEnumerator в пользовательский интерфейс в приложении Blazor с использованием внутренней службы. Также существуют примеры того, как отправить IAsyncEnumerator как результат действия контроллера веб-API. Я ещ…
2 ответа

Прочитать текстовый файл с помощью IAsyncEnumerable

Я столкнулся с IAsyncEnumerable, когда тестировал функции C# 8.0. Я нашел замечательные примеры от Энтони Чу (https://anthonychu.ca/post/async-streams-dotnet-core-3-iasyncenumerable/). Это асинхронный поток и замена дляTask&lt;IEnumerable&lt;T&gt;&g…
26 ноя '19 в 05:53
5 ответов

Как реализовать эффективный WhenEach, который передает IAsyncEnumerable результатов задачи?

Я пытаюсь обновить свой набор инструментов новыми инструментами, предлагаемыми C# 8, и один метод, который кажется особенно полезным, - это версия Task.WhenAll который возвращает IAsyncEnumerable . Этот метод должен передавать результаты задачи, как…
2 ответа

Методы Linq для IAsyncEnumerable

При работе с IEnumerable&lt;T&gt; есть встроенные методы расширения из System.Linq пространство имен, такое как Skip, Where а также Select работать с. Когда Microsoft добавила IAsyncEnumerable в C#8 они также добавили новые методы Linq для поддержки…
14 окт '19 в 15:15