Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Algumas operações na base de dados, como execuções de comandos, podem demorar um tempo significativo a ser concluídas. Nesse caso, as aplicações de thread único têm de bloquear outras operações e esperar que o comando termine antes de poderem continuar as suas próprias operações. Em contraste, a capacidade de atribuir a operação de longa duração a um thread em segundo plano permite que o thread em primeiro plano permaneça ativo durante toda a operação. Numa aplicação Windows, por exemplo, delegar a operação de longa duração a uma thread em segundo plano permite que a thread da interface de utilizador permaneça responsiva enquanto a operação está em execução.
O .NET fornece vários padrões padrão de design assíncrono que os programadores podem usar para tirar partido dos threads em segundo plano e libertar a interface do utilizador ou threads de alta prioridade para realizar outras operações na sua SqlCommand classe. Especificamente, os BeginExecuteNonQuerymétodos , BeginExecuteReader, e BeginExecuteXmlReader , emparelhados com os EndExecuteNonQuerymétodos , EndExecuteReader, e EndExecuteXmlReader , fornecem o suporte assíncrono.
Observação
A programação assíncrona é uma funcionalidade central do .NET. Para mais informações sobre as diferentes técnicas assíncronas disponíveis para os programadores, veja Chamada de Métodos Síncronos de Forma Assíncrona.
Embora a utilização de técnicas assíncronas com ADO.NET funcionalidades não acrescente considerações especiais, é importante estar ciente dos benefícios e desvantagens de criar aplicações multithreaded. Os exemplos que se seguem nesta secção apontam várias questões importantes que os programadores terão de ter em conta ao construir aplicações que incorporem funcionalidades multithread.
Nesta secção
Aplicações Windows usando callbacks
Fornece um exemplo que demonstra como executar um comando assíncrono de forma segura, lidando corretamente com a interação com um formulário e o seu conteúdo a partir de um thread separado.
ASP.NET aplicações que usam controlos de espera
Fornece um exemplo que demonstra como executar múltiplos comandos simultâneos a partir de uma página ASP.NET, usando handles Wait para gerir a operação na conclusão de todos os comandos.
Polling em aplicações de consola
Fornece um exemplo que demonstra o uso do polling para esperar a conclusão de uma execução assíncrona de comando numa aplicação de consola. Esta técnica também é válida numa biblioteca de classes ou noutra aplicação sem interface de utilizador.