Pooling de connexions - Développement d'applications mobiles, services Web, architecture SOA - Technologie
Aller au contenu

Mise en commun des connexions - développement d'applications mobiles, services Web, architecture SOA

Annonces

Qu'est-ce que le regroupement de connexions ?

Le regroupement de connexions permet de réutiliser les connexions existantes afin de réduire la surcharge liée à la création et à la suppression continues de connexions ayant la même configuration. En d'autres termes, l'ouverture et la fermeture de connexions qui utilisent la même chaîne de connexion et les mêmes informations d'identification peuvent réutiliser une connexion disponible dans le pool. Les applications typiques utilisent les mêmes objets de connexion pour extraire et mettre à jour en continu les données d'une base de données. Le regroupement de connexions offre un niveau de performances beaucoup plus élevé en éliminant le besoin pour la base de données de créer et de supprimer constamment des connexions. Les pools de connexions sont séparés par processus, domaine d'application et chaîne de connexion. Pour les chaînes de connexion qui utilisent la sécurité intégrée, un pool distinct est créé pour chaque identité unique.

Contrôle des options de regroupement de connexions

Le regroupement de connexions est activé par défaut lors de la création d'objets de connexion ADO.NET. Vous pouvez contrôler le comportement du regroupement de connexions (ou désactiver complètement le regroupement de connexions) en définissant des mots-clés de chaîne de connexion spécifiques pour le regroupement de connexions. Par exemple, pour désactiver spécifiquement le regroupement de connexions, définissez Pooling=False dans votre chaîne de connexion. Tableau 5-7 fournit une liste de mots-clés de chaîne de connexion qui peuvent être utilisés pour contrôler la manière dont une connexion spécifique interagit avec le pool de connexions. Tous les mots clés ne sont pas disponibles pour tous les fournisseurs. Par exemple, le fournisseur OLE DB assure le suivi du regroupement de connexions (également appelé regroupement de ressources ou sessions) en fonction de la valeur définie pour le mot clé Services OLE DB dans la chaîne de connexion.

Chaîne de connexion du pool de connexions de tableOutre les propriétés de chaîne de connexion qui contrôlent le comportement du regroupement de connexions, il existe également des méthodes disponibles sur les objets de connexion qui peuvent également affecter le regroupement de connexions. Les méthodes disponibles sont généralement utilisées lorsque vous fermez des connexions dans votre application et que vous savez qu'elles ne seront plus utilisées. Cela nettoie le pool de connexions en supprimant les connexions au lieu de les renvoyer au pool lorsqu'elles sont fermées. Toutes les connexions qui sont déjà dans le pool et ouvertes seront supprimées la prochaine fois qu'elles seront fermées. Tableau 5-8 répertorie les méthodes disponibles pour interagir avec les pools de connexions.

Configuration des connexions pour utiliser le regroupement de connexions

Par défaut, tous les fournisseurs de données .NET Framework disponibles dans ADO.NET ont le regroupement de connexions activé, mais le niveau de contrôle disponible pour travailler avec le regroupement de connexions varie selon le fournisseur utilisé.

Configuration du regroupement de connexions avec les connexions SQL Server

Par défaut, l'objet SqlConnection utilise automatiquement le regroupement de connexions. Chaque fois que vous appelez Sqlconnection.Open avec une chaîne de connexion unique, un nouveau pool est créé. Contrôlez le comportement du pool de connexions en définissant des mots-clés de pool de connexions dans la chaîne de connexion, comme décrit précédemment dans le Tableau 5-7. Par exemple, considérez une connexion pour laquelle vous souhaitez définir la taille minimale du pool. En attribuant une valeur supérieure à zéro au mot-clé Min Pool Size, vous vous assurez que le pool n'est pas détruit tant que l'application ne se termine pas. Pour définir la taille de pool minimale sur 5, utilisez une chaîne de connexion semblable à la suivante :

Source de données=SqlServerName ; Catalogue initial=DatabaseName ; Sécurité intégrée=True;Taille minimale du pool=5

La taille minimale du pool est de 0 par défaut, ce qui signifie que chaque connexion doit être créée et initialisée comme demandé, en augmentant la taille minimale du pool dans la chaîne de connexion, le nombre indiqué de connexions est créé et prêt à être utilisé, ce qui peut réduire le temps il faut pour établir la connexion sur ces connexions initiales.

Configuration du regroupement de connexions avec Oracle Connections

Les connexions utilisant le fournisseur de données .NET Framework pour Oracle utilisent automatiquement le regroupement de connexions par défaut. Vous pouvez contrôler la façon dont la connexion utilise le regroupement en définissant des mots-clés de chaîne de connexion. Tableau 5-10 détaille les mots-clés de chaîne de connexion disponibles pour modifier les activités de regroupement de connexions.

Gestion des erreurs de connexion

Lorsque SQL Server renvoie un avertissement ou une erreur, le fournisseur de données .NET Framework pour SQL Server crée et lève une SqlException que vous pouvez intercepter dans votre application pour gérer le problème. Lorsque SqlException est levée, inspectez la propriété SqlException.Errors pour accéder à la collection d'erreurs renvoyées par le serveur SQL. La propriété SqlException.Errors est une classe SqlErrorCollection (une collection de classes SqlError) qui contient toujours au moins un objet SqlError.

PLUS D'INFORMATIONS Erreurs SQL Server

SqlConnection restera ouvert pour les messages avec un niveau de gravité de 19 ou moins, mais se fermera normalement automatiquement lorsque la gravité est de 20 ou plus.

Résumé

  • Le regroupement de connexions est activé par défaut.
  • Les options de regroupement de connexions sont définies dans la chaîne de connexion, à l'exception du fournisseur ODBC, qui utilise la boîte de dialogue Administrateur de source de données ODBC sous Windows.
  • Un objet SqlException est créé lorsqu'une erreur est détectée sur le serveur SQL.
  • Chaque instance d'une exception SqlException contient au moins un avertissement SqlError qui contient les informations d'erreur réelles du serveur.
  • L'authentification Windows (également appelée sécurité intégrée) est la méthode suggérée pour se connecter en toute sécurité aux données.
  • Stockez les chaînes de connexion contenant des informations sensibles dans le fichier de configuration de l'application et cryptez tous les paramètres contenant des informations sensibles.