sql >> Database teknologi >  >> RDS >> Sqlserver

Skift meddelelse med SQL Server 2008

Notifikationstjenester blev forældet, men du ønsker ikke at bruge det alligevel.

Du kan overveje Service Broker-meddelelser i nogle scenarier; detaljerne afhænger af din app.

I de fleste tilfælde kan du sikkert bruge SqlDependency eller SqlCacheDependency. Måden de fungerer på er, at du inkluderer et SqlDependency-objekt med din forespørgsel, når du udsteder det. Forespørgslen kan være en enkelt SELECT eller en kompleks gruppe af kommandoer i en lagret procedure.

Nogen tid senere, hvis en anden webserver eller bruger eller webside foretager en ændring i DB'en, der kan få resultaterne af den tidligere forespørgsel til at ændre sig, så sender SQL Server en meddelelse til alle servere, der har registrerede SqlDependency-objekter. Du kan enten registrere kode til at køre, når disse begivenheder ankommer, eller begivenheden kan simpelthen rydde en post i cachen.

Selvom du skal aktivere Service Broker for at bruge SqlDependency, behøver du ikke at interagere med det eksplicit. Du kan dog også bruge det som en alternativ mekanisme; tænk på det mere som et vedvarende meddelelsessystem, der garanterer beskedbestilling og engangslevering.

Detaljerne om, hvordan man bruger disse systemer er lidt lange for et forumindlæg. Du kan enten Google efter dem, eller jeg giver også eksempler i min bog (Ultra-Fast ASP.NET).



  1. Tilladelse nægtet til forholdet

  2. MySQL:valg af rækker, hvor en kolonne er nul

  3. Hvordan returnerer man et resultatsæt/markør fra en anonym Oracle PL/SQL-blok, der udfører Dynamic SQL?

  4. Kan ikke oprette enhedsdatamodel - ved hjælp af MySql og EF6