Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Basate sull'infrastruttura di Service Broker, tali notifiche consentono di comunicare alle applicazioni che i dati sono stati modificati. Questa caratteristica è particolarmente utile per le applicazioni che forniscono una cache di informazioni provenienti da un database, ad esempio un'applicazione Web, e devono essere notificate quando i dati di origine vengono modificati.
Microsoft. Data.SqlClient offre due classi per le notifiche di query:
Usare SqlNotificationRequest per eseguire un comando con una richiesta di notifica ed elaborare manualmente i messaggi di Service Broker.
Usare SqlDependency per rilevare le modifiche tramite l'evento
OnChange. Microsoft.Data.SqlClient gestisce il listener ed espone le informazioni di notifica negli argomenti dell'evento.
Importante
Non usare System.Data.SqlClient per i nuovi sviluppi. Usare Microsoft.Data.SqlClient invece. La classe ASP.NET Framework SqlCacheDependency richiede System.Data.SqlClient e non si integra con Microsoft.Data.SqlClient. Per le nuove applicazioni Microsoft.Data.SqlClient, sottoscrivere SqlDependency.OnChange e invalidare le voci tramite l'API della cache dell'applicazione.
Le notifiche delle query sono utili per applicazioni che richiedono l'aggiornamento delle visualizzazioni o delle cache in seguito a modifiche dei dati sottostanti. SQL Server consente alle applicazioni .NET di inviare un comando e richiedere una notifica se lo stesso comando genera set di risultati diversi da quelli recuperati inizialmente. Le notifiche generate nel server vengono inviate tramite code in modo da essere elaborate in un secondo momento.
È possibile configurare le notifiche per le dichiarazioni SELECT e EXECUTE. Quando si usa un'istruzioneEXECUTE, SQL Server registra una notifica per il comando eseguito anziché per l'istruzione EXECUTE stessa. Il comando deve soddisfare i requisiti e le limitazioni per un'istruzione SELECT . Se un comando che registra una notifica contiene più istruzioni, il motore di database crea una notifica per ogni istruzione del batch.
Se si sviluppa un'applicazione in cui sono necessarie notifiche in frazioni di secondo affidabili quando i dati vengono modificati, vedere le sezioni Pianificazione di una strategia delle notifiche delle query efficiente e Alternative alle notifiche delle query nell'articolo Pianificazione delle notifiche. Per altre informazioni sulle notifiche di query e su SQL Server Service Broker, vedere i collegamenti seguenti agli articoli nella documentazione di SQL Server.
Documentazione di SQL Server
In questa sezione
Abilitazione notifiche di query Descrizione dell'utilizzo delle notifiche di query, inclusi i requisiti per abilitarle e usarle.
Rilevamento modifiche con SqlDependency Illustra come rilevare i casi in cui i risultati della query si differenziano da quelli ricevuti in origine.
Esecuzione di SqlCommand con sqlNotificationRequest Viene illustrato come configurare l'oggetto SqlCommand per una notifica di query.
Riferimento
SqlNotificationRequest Descrive la classe SqlNotificationRequest e tutti i relativi membri.
SqlDependency Descrive la classe SqlDependency e tutti i relativi membri.
SqlCacheDependency Descrive la classe di dipendenza della cache di ASP.NET Framework per System.Data.SqlClient. Non incapsula le dipendenze di Microsoft.Data.SqlClient.