Notifications de requête dans SQL Server (ADO.NET)
Les notifications de requête ont été introduites dans Microsoft SQL Server 2005 et l'espace de noms System.Data.SqlClient dans ADO.NET 2.0.Basées sur l'infrastructure Service Broker, les notifications de requête permettent de notifier des applications en cas de modification de données.Cette fonction est particulièrement utile pour les applications qui génèrent un cache d'informations à partir d'une base de données, telles que les applications Web, et qui doivent être informées en cas de modification des données sources.
ADO.NET vous permet d'implémenter les notifications de requête de trois manières :
L'implémentation de bas niveau est assurée par la classe SqlNotificationRequest qui expose les fonctionnalités côté serveur, vous permettant d'exécuter une commande avec une demande de notification.
L'implémentation de haut niveau est assurée par la classe SqlDependency qui fournit une abstraction de haut niveau des fonctionnalités de notification entre l'application source et SQL Server, ce qui vous permet d'utiliser une dépendance pour détecter des modifications au niveau serveur.Généralement, il s'agit de la manière la plus simple et la plus efficace, pour des applications clientes managées, d'exploiter la fonctionnalité de notification de SQL Server en utilisant le fournisseur de données .NET Framework pour SQL Server.
En outre, les applications Web créées à l'aide d'ASP.NET 2.0 ou version ultérieure peuvent utiliser les classes d'assistance SqlCacheDependency.
Les notifications de requête sont utilisées pour les applications qui doivent actualiser des affichages ou des caches suite à l'apport de modifications aux données sous-jacentes.Microsoft SQL Server permet aux applications .NET Framework d'envoyer une commande à SQL Server et de demander la génération d'une notification si l'exécution de cette commande produit des ensembles de résultats différents de ceux extraits initialement.Les notifications générées au niveau du serveur sont envoyées via des files d'attente pour être traitées ultérieurement.
Vous pouvez configurer des notifications pour les instructions SELECT et EXECUTE.Avec une instruction EXECUTE, SQL Server enregistre une notification pour la commande exécutée et non l'instruction EXECUTE elle-même.La commande doit répondre aux spécifications et aux limitations d'une instruction SELECT.Lorsqu'une commande qui enregistre une notification contient plusieurs instructions, le moteur de base de données crée une notification pour chaque instruction du lot.
Pour plus d'informations sur les notifications de requête et Service Broker de SQL Server, voir les liens aux rubriques ci-dessous dans la documentation en ligne de SQL Server.
Documentation en ligne de SQL Server 2005 |
Documentation en ligne de SQL Server 2008 |
---|---|
Dans cette section
Activation des notifications de requête (ADO.NET)
Explique comment utiliser des notifications de requête incluant les exigences relatives à leur utilisation et à leur activation.SqlDependency dans une application ASP.NET (ADO.NET)
Montre comment utiliser les notifications de requête à partir d'une application ASP.NET.Détection des modifications à l'aide de SqlDependency (ADO.NET)
Montre comment détecter lorsque les résultats de la requête seront différents de ceux reçus à l'origine.Exécution de SqlCommand avec un SqlNotificationRequest (ADO.NET)
Illustre la configuration d'un objet SqlCommand pour travailler avec une notification de requête.
Référence
SqlNotificationRequest
Décrit la classe SqlNotificationRequest et tous ses membres.SqlDependency
Décrit la classe SqlDependency et tous ses membres.SqlCacheDependency
Décrit la classe SqlCacheDependency et tous ses membres.