Описание тега taskcompletionsource
TaskCompletionSource создает задачу<tresult> не привязан к делегату, обеспечивая доступ к стороне потребителя через свойство Task.
</tresult>
5
ответов
Вернуть с await при переносе старого асинхронного шаблона в TaskCompletionSource?
Я изучаю C# Asnc-await pattern и в настоящее время читаю Concurrency in C# Cookbook от S. Cleary. Он обсуждает перенос старых асинхронных шаблонов без TAP с помощью TaskCompletionSource (TCS) в конструкции TAP. Чего я не понимаю, так это почему он п…
18 фев '19 в 10:48
1
ответ
Должны ли задачи, сгенерированные TaskCompletionSource быть Dispose()d?
Я использую TaskCompletionSource в моем программном обеспечении для распространения сетевых пакетов async / await методы. Так что в моем коде есть различные моменты, когда программное обеспечение должно ожидать демультиплексирования сетевого пакета …
18 фев '19 в 21:49
1
ответ
Какова цель TaskCreationOptions с TaskCompletionSource?
Что-то неясное для меня о внутренней работе TaskCompletionSource<>, При создании простого Task<> с использованием FactoryЯ ожидаю, что эта задача будет поставлена в очередь в пуле потоков, если я не укажу TaskCreationOptions.LongRunnin…
15 янв '13 в 18:53
1
ответ
Отмена асинхронного метода, который вызывает события
У меня есть безголовое приложение UWP, которое использует внешнюю библиотеку для подключения к последовательному устройству и отправки некоторых команд. Он запускает бесконечный цикл (в то время как истина) с 10-минутной паузой между циклами. Процес…
16 авг '17 в 06:13
1
ответ
Как сохранить ожидаемое поведение с TaskCompletionSource.SetException?
(Это новая попытка в этом вопросе, которая теперь демонстрирует проблему лучше.) Допустим, у нас есть ошибочная задача (var faultedTask = Task.Run(() => { throw new Exception("test"); });) и мы ждем этого. await распакует AggregateException и бро…
15 фев '16 в 15:56
1
ответ
Каков синхронный эквивалент TaskCompletionSource<T>?
У меня есть метод, который выглядит так: Task<MyClass> MyMethodAsync() { SendBluetoothMessageAsync(); var tcs = new TaskCompletionSource<MyClass>(); Bluetooth.MessageRecieved += (o, e) => tcs.SetResult(e.SomeProperty); //this removes …
15 окт '13 в 16:51
3
ответа
TaskCompletionSource throws "Была сделана попытка перевести задачу в конечное состояние, когда она уже выполнена"
Я хочу использовать TaskCompletionSource обернуть MyService это простой сервис: public static Task<string> ProcessAsync(MyService service, int parameter) { var tcs = new TaskCompletionSource<string>(); //Every time ProccessAsync is calle…
03 авг '15 в 12:53
1
ответ
C# TaskCompletionSource не работает
У меня есть интересная проблема.. У меня есть метод входа, который работает сервис WCF. Я создал задание завершения и ждет, пока результат не придет. Проблема в том, что если я вызываю 2 раза метод входа, второй ничего не возвращает. Я ставлю точку …
08 июн '16 в 16:36
2
ответа
Не удается получить результаты TaskCompletionSource
Здравствуйте, у меня есть следующая проблема: Я хочу выполнить что-то похожее на транзакцию. Я хочу выполнить ряд async операции после получения внешнего триггера. Поэтому я использую TaskCompletionSource это устанавливается в методе, представляющем…
02 авг '18 в 07:06
3
ответа
Почему мой TCS не ждет?
async Ключевое слово действительно вызывает изменение CIL (даже если в методе нет ожидания), но в первую очередь это позволяет await присутствовать. Но я не ожидал, что произойдет следующее: static void Main(string[] args) { Task t = Go(); t.Wait();…
25 сен '15 в 15:30
2
ответа
Обтекание библиотеки, использующей асинхронный шаблон на основе событий, для использования с Async/Await
Я использую шаблон async/await во всем коде. Однако есть один API, который использовал асинхронный шаблон, основанный на событиях. Я читал в MSDN и несколько ответов на Stackru, что способ сделать это - использовать TaskCompletionSource. Мой код: pu…
05 дек '15 в 14:26
1
ответ
Как использовать TaskCompletionSource
У меня ситуация с несколькими производителями и одним потребителем. Я выбрал общий thread-safe ресурс, в котором все производители Enqueue Предметы. Однако я не знаю, как эффективно сделать производителя await для новых предметов, когда Dequeueиз эт…
29 дек '18 в 09:07
0
ответов
Сделайте так, чтобы TaskCompletionSource<T>.Task запускался в фоновом режиме из запроса mvc asp.net.
В одном действии моих приложений MVC 4 у меня есть звонок: public ActionResult Test() { DownloadAsync("uri","file path"); return Content("OK"); } DownloadAsync вернуть задание, и я ожидаю увидеть DownloadAsync работать в фоновом режиме. Но я всегда …
21 янв '14 в 03:33
2
ответа
Как заменить контекст / планировщик задач синхронизации на другой внутри TaskCompletionSource.Task для ConfigureAwait(false)?
Предположим, я создал библиотеку, содержащую такой метод: Task MyLibraryMethodAsync() { var taskCompletionSource = new TaskCompletionSource<object>(); Action myWorkItem = () => { // Simulate some work. // Actual work items depend on input p…
07 янв '16 в 14:56
1
ответ
Ожидание задачи никогда не завершается, хотя ее состояние переходит в RanToCompletion
Во-первых, извинения - я не могу воспроизвести это поведение в достаточно простом примере приложения. Эта функциональность работала до некоторого рефакторинга вызывающего кода. Я пытаюсь использовать TaskCompletionSource для оповещения об окончании …
28 окт '15 в 10:51
1
ответ
Ожидание TaskCompletionSource<T>, которое никогда не возвращает задачу
Я пытаюсь написать модульный тест вокруг асинхронного паба / подсистемы. В моем модульном тесте я создаю TaskCompletionSource<int> и назначьте ему значение в обратном вызове подписки. В рамках обратного вызова подписки я отписываюсь от публика…
16 янв '16 в 04:35
2
ответа
Что вызывает тупик?
Я сталкиваюсь с тупиковой проблемой в моем коде. К счастью, я смог воспроизвести проблему в следующем примере. Запустите как обычное консольное приложение.Net Core 2.0. class Class2 { static void Main(string[] args) { Task.Run(MainAsync); Console.Wr…
20 дек '17 в 08:48
2
ответа
Реализовать ограниченный и буферизованный исполнитель заданий
Я хочу реализовать ограниченный и буферизованный исполнитель заданий. У него будет один метод: public class CappedBufferedExecutor { public CappedBufferedExecutor(int bufferCapping, int fillTimeInMillisec); public Task<bool> EnqueueAsync(strin…
24 сен '17 в 16:47
1
ответ
Обходное решение SignalR для получения данных клиента с сервера
Я знаю, что SignalR не может получить возврат от клиента, когда вызов пришел с сервера. В github-репозитории SignalR я попросил обходной путь ( https://github.com/aspnet/SignalR/issues/1329), и они предлагают мне получить результат, отправив его с к…
26 янв '18 в 15:50
1
ответ
Развертывание асинхронной операции и ее асинхронного обратного вызова в TaskCompletionSource
У меня есть метод в сервисе, который вызывается моей моделью представления для получения изображения. Изображение извлекается из внешней библиотеки (iOS API в Xamarin), которая использует механизм обратного вызова вместо ожидания. Чтобы сделать мой …
17 окт '15 в 20:06