SqlCacheDependancy under WinForms, är detta möjligt? Och ännu viktigare, är det optimalt ? Säg t.ex en miljö med 10 klientapplikationer som ligger och pollar en SqlExpress databas. Går det och hur går man tillväga? Lite googlande gav mig detta: http://community.codesmithtools.com/forums/thread/13564.aspx svarar på min egen fråga: ServiceBrokern är bland det sexigaste MS skapat på senare tid :) Tack Patrik för din input! En tjänst man kan starta i SQL Server 2005. Via den kan man skapa endpoints till att göra saker med automatik.SqlCacheDependancy under WinForms
Men jag det borde väl gå utan att behöva haxxa så ...Sv: SqlCacheDependancy under WinForms
Japp det är möjligt, och det är optimalt via servicebrokern :)
Har fått igång det och det är häftigt !Sv:SqlCacheDependancy under WinForms
Men jag vill ändå lägga en liten brasklapp som egentligen inte bara gäller ditt scenario utan alla cachningsscenarion.
När man cachar data på det här viset och får automatiska uppdateringar så måste man vara extremt noga med data integriteten då ADO.NET egentligen bara stödjer optimstic concurrency.
Om jag uppdaterar min data i ett fönster och cachen laddas om efter jag hämtade den, då är det fullt möjligt att ngn ändrat mina uppgifter. Det som då kan hända (speciellt om du använder sqlDataAdapter) är att SqlDA helt enkelt tror att de nya uppgifterna som finns i databasen är original values för din data. Vilket gör att du inte kommer få en Optimistic Concurrency exception utan kommer helt enkelt att skriva över ändringarna redan gjorda.
Man ska också vara försiktig med för mycket automatisk trafik över nätverket för skalbarhetsskäl. Om du överakar transaktionsintensiv data så kommer det bli väldigt chatty på nätet om du skall få signaleringen varje gång något förändras.
Bara några kommentarer, finns säkert mycket mer att tänka på.Sv: SqlCacheDependancy under WinForms
Håller med om att den här Servicebrokern är någonting riktigt sexy. Lite svår att få igång, kanske lite för lätt för att "råka" skapa bugg.
Tror att det kanske är bäst att endast använda cachedependency på enstaka rows eller små rowsets, som inte uppdateras så frekvent (eller alls), just för att undvika concurrency-knasigheter.
I mitt fall några exempel: Börsindex, Påloggade users, viktiga-meddelande-logSv: SqlCacheDependancy under WinForms
Tex kan du i ett winforms projekt kommunicera med sqlservern, och via servicebrokern be servern att tala om när det sker förändringar i en sqlfråga som du prenumererar på. När så sker, så kommer ditt program veta om det tack vare ett callback (ett event kommer att raisas) så du kan du refresha din grid eller whatever, och vara säker på att det alltid kommer att vara uppdaterat.
Fint va !