Às vezes, temos a necessidade de executar processos que demoram muito tempo, mesmo sendo optimizados. Por exemplo, quando necessitamos de executar uma stored procedure que demora mais tempo que o definido na configuração do ASP.NET, podemos facilmente incorrer num timeout.
Nestes casos, faz sentido executar o pedido assíncronamente, ou seja, o processo do ASP.NET não ficar parado à espera de uma resposta mas sim devolver imediatamente o controle ao utilizador.
Esta é uma dica simples (faz uso de um delegate), mas que pode ser bastante interessante para quem se tenha deparado com este problema.
Podem fazer download de um projecto de exemplo aqui.