Domanda

In ASP.NET, è possibile eseguire operazioni asincrone come segue:

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

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

Tuttavia, supponiamo che è necessario per garantire che task1 completa prima esegue Task2. È possibile?

La mia comprensione è che questi compiti saranno applicate in parallelo.

È stato utile?

Soluzione

La soluzione più semplice sarebbe quella di lanciare TASK2 all'interno del gestore "EndAsyncOperation1".

Altri suggerimenti

Se task1 ha la necessità di completare prima di TASK2, si potrebbe prendere in considerazione la creazione di una terza operazione che incapsula le chiamate sincrone a BeginAsyncOperation1 e BeginAsyncOperation2 ed eseguire tale operazione in modo asincrono. Il lavoro per la seconda attività non inizierà fino a quando il primo compito è stato completato.

La soluzione è nel costruttore PageAsyncTask. Impostare il flag booleano per "parallelo" di essere falsa e saranno eseguite in modo sequenziale.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top