Async ждать vs getawaiter (). GetResult () и обратный вызовC#

Место общения программистов C#
Ответить
Anonymous
 Async ждать vs getawaiter (). GetResult () и обратный вызов

Сообщение Anonymous »

Я пытаюсь найти лучшую практику для одного из моего проекта. Это типичное приложение WPF с пользовательским интерфейсом, которое отображает список элементов, и существует служба данных, которая возвращает результат. У нас есть 2 варианта перед нами: < /p>
  • Использование Async < /code>, wait < /code> Ключевые слова.

    Это требует маркировки всех методов Async < /code> из кнопки «Клипко» все способ обслуживания (класс на стороне клиента, который заставляет http призывать на сервер) и любой метод. Этот подход работает нормально, кроме того, что проблема распространения Async везде.
  • Использовать awaiter и обратный вызов .

    В этом подходе клиент UI называет уровни услуг и передает обратный вызов к слою услуги, Service Layer Servel Servalp Servert Servalp Servalp Servert Servert Servert Servalp Servert Servalp Servert -Servicp. Getawaiter (). GetResult () , когда http -вызов завершен, он вызывает обратный вызов, переданный клиентом пользовательского интерфейса. В этом случае ни один метод не должен пометить асинхронность , но не совсем уверен в использовании getawaiter () .

    Код: Выделить всё

    Task.Run(async () => //await http call, invoke   callback).GetAwaiter().GetResult();
    
Я просто пытаюсь выяснить, какой подход является лучшим подходом и есть ли некоторые проблемы с любым подходом, о которых я должен знать.

Подробнее здесь: https://stackoverflow.com/questions/345 ... d-callback
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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