Atualizar uma página da Web como um processo é executado
Tenho uma página na qual ocorrem várias funções demoradas. O que eu gostaria de fazer é que, à medida que cada etapa do processo seja concluída, atualize a página da Web para que o usuário saiba qual etapa foi concluída. Essencialmente, o usuário envia uma consulta e, em seguida, o servidor consulta um banco de dados, processa os dados, desenha uma imagem e exibe os resultados na página. Quero que a página da web diga em que etapa está a função. Ele diria "Consultando" e depois "Processando" ... et
Pseudo
protected void Search(object sender, EventArgs e){
//display that the process has begun
List queryResults = Query()
//display that the query is finished
foreach(item in queryResults){
ProcessItem(item)
//display that item has been processed
Render(item)
//display item has been rendered
}
}
Procurei usar o Ajax para atualizar a página sem recarregá-la, mas, pelo meu entendimento simples (experiência zero com o Ajax), o cliente solicitava um arquivo do servidor. O Ajax é a ferramenta necessária para isso? E se sim, isso significa que, na área comentada, eu enviaria uma resposta ajax ao cliente?