Nas páginas assíncronas do ASP.NET, é possível executar 2 sequencial, tarefas assíncronas?

StackOverflow https://stackoverflow.com/questions/1658160

Pergunta

Em ASP.NET, você pode executar tarefas assíncronas da seguinte forma:

PageAsyncTask task1 = 
new PageAsyncTask(BeginAsyncOperation1, EndAsyncOperation1, TimeoutAsyncOperation1, state);
RegisterAsyncTask(task1);

PageAsyncTask task2 =
new PageAsyncTask(BeginAsyncOperation2, EndAsyncOperation2, TimeoutAsyncOperation2, state);
RegisterAsyncTask(task2);

No entanto, suponha que você precisa para garantir que completa task1 antes executa TASK2. Isso é possível?

O meu entendimento é que essas tarefas seria executado em paralelo.

Foi útil?

Solução

A solução mais fácil seria task2 lançamento dentro do manipulador "EndAsyncOperation1".

Outras dicas

Se as necessidades task1 concluir antes task2, você poderia considerar a criação de uma terceira operação que encapsula chamadas síncronas para BeginAsyncOperation1 e BeginAsyncOperation2 e executar esta operação de forma assíncrona. O trabalho para a segunda tarefa não começará até que a primeira tarefa foi concluída.

A solução é no construtor PageAsyncTask. Defina o sinalizador booleano para "paralelo" para ser falso e eles serão executados sequencialmente.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top