1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| // - Méthode asynchrone basée sur BeginInvoke
public void beginGetClients(IGTMFilter gtmClientFilter)
{
// -- Création du délégué et lancement de la
// -- méthode synchrone
// ------------------------------------------
getClientsDelegate getClientsDlg = new getClientsDelegate(get);
getClientsDlg.BeginInvoke(gtmClientFilter, null, null);
}
// -- Tâche asynchrone basée sur le patter async / await
public async Task getAsync(IGTMFilter filter, TaskScheduler uiScheduler, CancellationTokenSource cancellationTokenSrc)
{
await Task.Factory.StartNew(
() => get(filter),
cancellationTokenSrc == null ? CancellationToken.None : cancellationTokenSrc.Token,
TaskCreationOptions.None, uiScheduler);
}
// -- Méthode synchrone
protected override List<Client> get(IFilter Filter, DbConnection dbConnection)
{
// -- Initialisation de la liste des clients
// -----------------------------------------
return getListBO(selectQuery);
} |