Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Baseadas na infraestrutura do Service Broker, as notificações de consulta permitem que os aplicativos sejam notificados quando os dados forem alterados. Esse recurso é particularmente útil para aplicativos que fornecem um cache de informações de um banco de dados, como um aplicativo Web, e precisam ser notificados quando os dados de origem são alterados.
Microsoft. O Data.SqlClient fornece duas classes para notificações de consultas:
Use SqlNotificationRequest para executar um comando com um pedido de notificação e processe as mensagens do Service Broker.
Use SqlDependency para detetar mudanças ao longo do
OnChangeevento. Microsoft.Data.SqlClient gere o listener e expõe a informação de notificação nos argumentos do evento.
Importante
Não uses System.Data.SqlClient para novo desenvolvimento. Utilize Microsoft.Data.SqlClient em vez disso. A classe ASP.NET Framework SqlCacheDependency requer System.Data.SqlClient e não se integra com Microsoft.Data.SqlClient. Para novas aplicações Microsoft. Data.SqlClient, subscreva SqlDependency.OnChange e invalide entradas através da API de cache da sua aplicação.
As notificações de consulta são usadas para aplicativos que precisam atualizar exibições ou caches em resposta a alterações nos dados subjacentes. O SQL Server permite que aplicações .NET enviem um comando e solicitem uma notificação se o mesmo comando produzir conjuntos de resultados diferentes dos inicialmente recuperados. As notificações geradas no servidor são enviadas através de filas para serem processadas posteriormente.
Podes configurar notificações para extratos de SELECT e de EXECUTE. Ao usar uma instrução EXECUTE, o SQL Server regista uma notificação relativa ao comando executado, e não para a própria instrução EXECUTE. O comando deve satisfazer os requisitos e limitações de uma instrução SELECT. Quando um comando que registra uma notificação contém mais de uma instrução, o Mecanismo de Banco de Dados cria uma notificação para cada instrução no lote.
Se você estiver desenvolvendo um aplicativo em que precise de notificações confiáveis em subsegundos quando os dados forem alterados, revise as seções Planejando uma estratégia eficiente de notificações de consulta e Alternativas às notificações de consulta no artigo Planejando notificações . Para obter mais informações sobre notificações de consulta e SQL Server Service Broker, consulte os links a seguir para artigos na documentação do SQL Server.
Documentação do SQL Server
Nesta Secção
Habilitando notificações de consulta Discute como usar notificações de consulta, incluindo os requisitos para habilitá-las e usá-las.
Detetando alterações com SqlDependency Demonstra como detetar quando os resultados da consulta serão diferentes daqueles recebidos originalmente.
Execução SqlCommand com um SqlNotificationRequest Demonstra como configurar o SqlCommand objeto para uma notificação de query.
Referência
SqlNotificationRequest Descreve a SqlNotificationRequest classe e todos os seus membros.
SqlDependency Descreve a SqlDependency classe e todos os seus membros.
SqlCacheDependency Descreve a classe de dependência de cache do ASP.NET Framework para System.Data.SqlClient. Não encapsula as dependências do Microsoft.Data.SqlClient.