> Tech > ADO.NET 2.0, pratiquement multi-tâches

ADO.NET 2.0, pratiquement multi-tâches

Tech - Par Renaud ROSSET - Publié le 24 juin 2010
email

Comme je m’attendais à ce que l’application de recherche d’index MSDN puisse parfois prendre beaucoup de temps pour effectuer une recherche complète, j’ai décidé d’essayer les nouvelles fonctionnalités DataReader asynchrones dans ADO.NET 2.0 afin d’afficher une barre de progression. Même si ce détail était facile à mettre en oeuvre, il

ADO.NET 2.0, pratiquement multi-tâches

n’empêchait pas les blocages pendant les requêtes longues car l’exécution d’une requête et l’obtention des ensembles de lignes constituent un processus à deux phases. Lorsque vous utilisez la méthode BeginExecuteReader de l’objet SqlClient.SqlCommand pour débuter l’exécution de votre requête de recherche, votre application récupère la main immédiatement.

A ce stade, vous pouvez afficher une barre de progression ou faire tout ce qui est autrement nécessaire pour faire patienter les utilisateurs et éviter qu’ils se servent par dépit de la combinaison de touches Ctrl + Alt + Suppr. Une fois l’état IsCompleted défini, vous pouvez accéder au flux DataReader, mais l’attente n’est pas terminée pour autant. Il vous reste à retourner les lignes, ce qui peut prendre un temps considérable. ADO.NET ne fournit pas de méthodes Load ou Fill asynchrones (ce qui serait pratique). Par conséquent, il faut recourir aux threads BackgroundWorker. Même si ces threads ne sont pas compliquées à concevoir, le fait de ne pas prévoir de Fill et Load asynchrones constitue selon moi un oubli. Incidemment, cette nouvelle fonctionnalité permet de se mettre pratiquement au niveau de la version d’ADO basée sur COM, laquelle gère aussi l’ouverture de connexions asynchrones.

Téléchargez cette ressource

Cybersécurité des collectivités : Enjeux, Perspectives & Solutions

Cybersécurité des collectivités : Enjeux, Perspectives & Solutions

Villes, intercommunalités, métropoles, départements et régions sont particulièrement exposés aux risques de cybersécurité. Ce livre blanc Stormshield présente les défis cyber que rencontrent les collectivités, les solutions et perspectives pour qu’elles puissent assurer leur mission d’utilité publique, en toute sécurité.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010