Je travaille actuellement sur une application serveur qui doit gérer un nombre raisonnable de clients sur TCP en LAN. Les tâches que le serveur doit accomplir varient de trivial à légèrement complexe, et la plupart d'entre elles incluent une certaine forme d'interaction de base de données. Je voudrais rendre l'accès à la base de données asynchrone, car toutes les requêtes ne sont pas aussi complexes.Comment gérer l'accès à une base de données dans une application à deux niveaux longue durée?
La question que j'ai est de savoir quelle est la meilleure façon de traiter l'accès à la base de données dans ce genre d'application? Est-il sage d'utiliser la couche de persistance ou DAL (par exemple, NHibernate, Subsonic)? Je suis inquiet au sujet des fuites potentielles, des problèmes éventuels avec GC qui pourraient tous avoir un impact négatif sur le temps de fonctionnement, et qui sont quelque chose à penser dans les applications à long terme.
Ceci est une réponse plus généralisée sur les avantages de l'utilisation des outils O/RM par rapport à l'approche roll-your-own. Je vais le marquer comme une réponse. –