Articles of async await

Por que eu deveria preferir o single ‘await Task.WhenAll’ durante várias espera?

Caso eu não me importe com a ordem de conclusão da tarefa e apenas precise que todos sejam concluídos, devo continuar a usar o await Task.WhenAll ? await Task.WhenAll vez de vários, await ? Por exemplo, é DoWord2 abaixo de um método preferido para DoWork1 (e por quê?): using System; using System.Threading.Tasks; namespace ConsoleApp { […]

Qual é a diferença entre programação assíncrona e multithreading?

Eu pensei que eles eram basicamente a mesma coisa – escrever programas que dividem tarefas entre processadores (em máquinas que possuem 2+ processadores). Então estou lendo https://msdn.microsoft.com/en-us/library/hh191443.aspx , que diz Os methods asynchronouss devem ser operações sem bloqueio. Uma expressão await em um método asynchronous não bloqueia o thread atual enquanto a tarefa aguardada está […]

Parallel.ForEach e async-await

Eu tinha esse método: public async Task GetResult() { MyResult result = new MyResult(); foreach(var method in Methods) { string json = await Process(method); result.Prop1 = PopulateProp1(json); result.Prop2 = PopulateProp2(json); } return result; } Então decidi usar o Parallel.ForEach : public async Task GetResult() { MyResult result = new MyResult(); Parallel.ForEach(Methods, async method => { […]

Por que o HttpContext.Current é null após aguardar?

Eu tenho o seguinte código WebAPI de teste, eu não uso WebAPI em produção, mas eu fiz isso por causa de uma discussão que tive sobre essa questão: WebAPI Async question De qualquer forma, aqui está o método WebAPI ofensivo: public async Task Get(int id) { var x = HttpContext.Current; if (x == null) { […]

Cancelando uma tarefa pendente de forma síncrona no encadeamento da interface do usuário

Às vezes, depois de solicitar o cancelamento de uma tarefa pendente com CancellationTokenSource.Cancel , preciso garantir que a tarefa tenha atingido adequadamente o estado cancelado antes que eu possa continuar. Na maioria das vezes, enfrento essa situação quando o aplicativo está sendo encerrado e desejo cancelar todas as tarefas pendentes normalmente. No entanto, ele também […]

O Async está aguardando palavra-chave equivalente a um ContinueWith lambda?

Alguém poderia ser gentil o suficiente para confirmar se eu entendi corretamente o Async? (Usando a versão 3 do CTP) Até agora tenho trabalhado que inserir a palavra-chave await antes de uma chamada de método essencialmente faz duas coisas, A. Ela cria um retorno imediato e B. Cria uma “continuação” que é invocada após a […]

Chamar método asynchronous no construtor?

Resumo : Gostaria de chamar um método asynchronous em um construtor. Isso é possível? Detalhes : Eu tenho um método chamado getwritings() que analisa dados JSON. Tudo funciona bem se eu apenas chamar getwritings() em um método async e colocar a await para a esquerda dele. No entanto, quando eu crio um LongListView na minha […]

Qual é o novo recurso de espera do C #?

Alguém pode explicar o que a function de await faz?

Você tem que colocar Task.Run em um método para torná-lo asynchronous?

Estou tentando entender async esperando na forma mais simples. Eu quero criar um método muito simples que adicione dois números por causa deste exemplo, concedido, não é nenhum tempo de processamento, é apenas uma questão de formular um exemplo aqui. Exemplo 1 private async Task DoWork1Async() { int result = 1 + 2; } Exemplo […]

A operação assíncrona do Entity Framework leva dez vezes mais tempo para concluir

Eu tenho um site MVC que está usando o Entity Framework 6 para lidar com o database, e eu tenho experimentado alterá-lo para que tudo corra como controladores async e chamadas para o database são executados como suas contrapartes assíncronas (por exemplo. ToListAsync () em vez de ToList ()) O problema que estou tendo é […]