Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Las notificaciones de consulta, creadas a partir de la infraestructura de Service Broker, permiten notificar a las aplicaciones si los datos han cambiado. Esta característica resulta especialmente útil para las aplicaciones que proporcionan una caché de información de una base de datos, como una aplicación web, y necesitan recibir notificaciones si se modifican los datos de origen.
Hay tres maneras de implementar notificaciones de consulta mediante ADO.NET:
La implementación de bajo nivel se proporciona mediante la clase
SqlNotificationRequestque expone la funcionalidad del servidor, lo que permite ejecutar un comando con una solicitud de notificación.La implementación de alto nivel se proporciona mediante la clase
SqlDependency, que es una clase que proporciona una abstracción de alto nivel de la funcionalidad de notificación entre la aplicación de origen y SQL Server, lo que permite utilizar una dependencia para detectar los cambios en el servidor. En la mayoría de los casos, esta es la forma más sencilla y eficaz de utilizar la capacidad de notificaciones de SQL Server por parte de aplicaciones cliente gestionadas que utilizan Microsoft SqlClient Proveedor de datos for SQL Server.Además, las aplicaciones web creadas mediante ASP.NET 2.0 o posterior pueden usar las clases auxiliares
SqlCacheDependency.
Las notificaciones de consulta se utilizan en aplicaciones que necesitan actualizar las pantallas o las memorias caché en respuesta a cambios en los datos subyacentes. Microsoft SQL Server permite que las aplicaciones .NET envíen un comando a SQL Server y soliciten una notificación si la ejecución del mismo comando fuera a producir conjuntos de resultados diferentes de los inicialmente recuperados. Las notificaciones generadas en el servidor se envían a través de colas para procesarse más adelante.
Puede configurar notificaciones para las instrucciones SELECT y EXECUTE. Cuando se usa una instrucción EXECUTE, SQL Server registra una notificación para el comando ejecutado en lugar de la propia instrucción EXECUTE. El comando debe cumplir los requisitos y las limitaciones de una instrucción SELECT. Cuando un comando que registra una notificación contiene más de una instrucción, el motor de base de datos crea una notificación para cada instrucción del lote.
Si está desarrollando una aplicación donde sean necesarias notificaciones de subsegundo confiables cuando los datos cambien, revise las secciones Planear una estrategia eficaz de notificaciones de consulta y Alternativas a las notificaciones de consulta del tema Planear notificaciones de los Libros en pantalla de SQL Server. Para obtener más información de las notificaciones de consulta y SQL Server Service Broker, vea los siguientes vínculos a los temas de Libros en pantalla de SQL Server.
Documentación de SQL Server
En esta sección
Habilitación de notificaciones de consultas
Describe cómo usar las notificaciones de consulta, incluidos los requisitos para habilitarlas y usarlas.
SqlDependency en una aplicación ASP.NET
Muestra cómo usar notificaciones de consulta desde una aplicación de ASP.NET.
Detección de cambios con SqlDependency
Muestra cómo detectar cuándo los resultados de la consulta serán distintos de los recibidos originalmente.
Ejecución de SqlCommand con SqlNotificationRequest
Muestra cómo configurar un objeto SqlCommand para que funcione con una notificación de consulta.