Partager via


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 :

  1. 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.

  2. 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.

  3. 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

Utilisation des notifications de requêtes

Utilisation des notifications de requêtes

Création d'une requête pour notification

Création d'une requête pour notification

Service Broker

Service Broker

Centre d'informations du développeur Service Broker

Developer's Guide (Service Broker) (en anglais)

Dans cette section

Référence

Voir aussi

Autres ressources

SQL Server et ADO.NET