Array
(
)

Como fazer uma barra de progresso baseada no processamento de um métodos

Fredericopranto
   - 03 abr 2013

Senhores(as),
Gostaria de saber se alguém tem uma dica de como implementar uma barra de progresso em .NET baseada no processamento de um envio de e-mail em lote.
Imagine que tenho mais de mil e-mails para enviar numa apliacao web. Preciso exibir para o usuário uma barra de progresso que indique a percentagem do processamento.
Usar simplesmente o progress bar do Ajax é complicado, porque ele nao tem bons parametros.
Queria algo que fosse mais real de acordo com o processamento.
Até mais.

Valter Furtado
   - 03 abr 2013

thread??
você sabe a quantidade total... e a cada "pacote" enviado, atualizaria o registro no banco de dados com a quantidade enviada...

pensei em fzer assim uma vez.

Fredericopranto
   - 03 abr 2013

Na verdade até já iniciei uma solução com thread...mas estou amadurecendo a ideia ainda..

Meu receio é fazer algo errado e comprometer o servidor..

A ideia também é não ter de ir ao banco para consultar o progresso..pq ai teria ainda mais processamento.

Valter Furtado
   - 03 abr 2013

Acho (nao tenho certeza pq não mecho com thread tem um tempo) que você monta uma fila, e se for assim, você consegue consultar a quantidade de threads que foram executadas...

Ou você poderia atualizar uma variável dentro da thread e aí executaria... mas acho que a melhor solução é, quando você clicar em "ENVIAR" seus e-mails, você criaria os pacotes e montaria as threads, e aí de sempre que ela terminasse você gravaria o processo no banco e aí no seu sistema você vai consultar o banco de dados para saber o andamento da tarefa...

Se so essa consulta for sobrecarregar o servidor... troca de servidor rs... talvez você cria uma thread com outras dentro (num sei se dá) e aí de acordo com a quantidade de threads ainda em espera você saberia qual a porcentagem executada...