Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Med hjälp av Service Broker-infrastrukturen tillåter frågemeddelanden att program meddelas när data har ändrats. Den här funktionen är särskilt användbar för program som tillhandahåller en cache med information från en databas, till exempel ett webbprogram, och som måste meddelas när källdata ändras.
Microsoft. Data.SqlClient tillhandahåller två klasser för frågemeddelanden:
Använd SqlNotificationRequest för att köra ett kommando med en begäran om avisering och bearbeta Service Broker-meddelanden själv.
Använd SqlDependency för att identifiera ändringar via händelsen
OnChange. Microsoft.Data.SqlClient hanterar lyssnaren och exponerar meddelandeinformation i händelseargumenten.
Important
Använd inte System.Data.SqlClient för ny utveckling. Använd Microsoft.Data.SqlClient i stället. Klassen ASP.NET Framework SqlCacheDependency kräver System.Data.SqlClient och integrerar inte med Microsoft.Data.SqlClient. För nya Microsoft.Data.SqlClient-program, prenumerera på SqlDependency.OnChange och ogiltigförklara poster via programmets cache-API.
Frågemeddelanden används för program som behöver uppdatera skärmar eller cacheminnen som svar på ändringar i underliggande data. SQL Server gör det möjligt för .NET program att skicka ett kommando och begära meddelande om samma kommando skulle generera resultatuppsättningar som skiljer sig från de som ursprungligen hämtades. Meddelanden som genereras på servern skickas via köer som ska bearbetas senare.
Du kan konfigurera meddelanden för SELECT och EXECUTE satser. När du använder en EXECUTE -instruktion registrerar SQL Server ett meddelande för kommandot som körs i stället för själva EXECUTE-instruktionen. Kommandot måste uppfylla kraven och begränsningarna för en SELECT-sats. När ett kommando som registrerar ett meddelande innehåller mer än en instruktion skapar databasmotorn ett meddelande för varje -instruktion i batchen.
Om du utvecklar ett program där du behöver tillförlitliga meddelanden under sekunden när data ändras läser du avsnitten Planera en strategi för effektiva frågemeddelanden och alternativ till frågemeddelanden i artikeln Planera för meddelanden . Mer information om frågemeddelanden och SQL Server Service Broker finns i följande länkar till artiklar i SQL Server-dokumentationen.
Dokumentation om SQL Server
I det här avsnittet
När du aktiverar frågemeddelanden beskrivs hur du använder frågemeddelanden, inklusive kraven för att aktivera och använda dem.
Identifiera ändringar med SqlDependency Visar hur du identifierar när frågeresultaten skiljer sig från de som ursprungligen togs emot.
SqlCommand-körning med en SqlNotificationRequest Visar hur du konfigurerar objektet SqlCommand för en frågeavisering.
Referens
SqlNotificationRequest Beskriver SqlNotificationRequest klassen och alla dess medlemmar.
SqlDependency Beskriver SqlDependency klassen och alla dess medlemmar.
SqlCacheDependencyBeskriver ASP.NET Framework-cacheberoendeklassen för System.Data.SqlClient. Den omfattar inte Microsoft.Data.SqlClient-beroenden.