J'essaye d'écrire un serveur asynchrone qui interroge une base de données de SQL Server et suis inquiet que mon côté de DB soit trop synchrone. Plus précisément, je peux appeler ExecuteReader
de manière asynchrone, mais je ne peux pas alors appeler reader.Item
de manière asynchrone et c'est là que 57% du temps est passé (bloquant mon précieux fil!).Asynchronous ADO.NET
Est-ce le plus asynchrone que je peux faire avec ADO.NET ou existe-t-il un moyen asynchrone de faire aussi reader.Item
?
... donc il est '' C# ou '' F #? – balexandre
Je sais exactement ce que vous voulez dire - je me suis toujours demandé pourquoi il n'y a pas de méthodes asynchrones sur les DataReaders (Sql) car cela devrait être votre opération classique liée au réseau. En lisant les documents, il est suggéré que BeginExecuteReader/EndExecuteReader "récupère un ou plusieurs ensembles de résultats du serveur". - Êtes-vous sûr que la plupart du temps est passé dans Read? – Carsten
@balexandre: Soit. Celui qui convient le mieux. –