Tento scénář se principiálně dá řešit takto: -Klient komunikuje se službou na serveru. Každý klient si na službě zaregistruje odběr notifikací o tom, že vznikají nové data. Pro tuto komunikaci je možné použít WCF duplexní binding nebo nově SignalR. -Pokud je touto službou přímo služba zodpovědná za pořizování těch zdrojových dat (např. je zapisuje do db ona), tak o vzniku nových dat již ví a rovnou může notifikovat klienty. -Pokud data vznikají do db jinak (přímý zápis do třetí stranou apod.) tak tato služba musí v pravidelném časovém intervalu volat načítání nových dat v monitorované tabulce a udržuje si aktuální ID (nebo datum a čas) posledního dříve načteného záznamu. O zjištěných nových záznamech odesílá notifikace na klienty. -Klient na notifikace reaguje obnovením UI (přidáním nových záznamů do gridu apod.) K některých případech by možná mohlo jít pro detekci nových záznamů využít přímo mechanismus notifikací MS SQL Serveru, s tím nemám ale praktické zkušenosti. Případně pokud je klientů málo by mohl detekci nových záznamů provádět každý z nich (každý by volal dotaz/uloženou proc. pro zjištění nových záznamů a udržoval si svůj ukazatel posledního záznamu) bez nutnosti služby na serveru.
|