Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Im Client einzelne Datensätze nachladen bei änderung
Coooder
myCSharp.de - Member



Dabei seit:
Beiträge: 186

Themenstarter:

Im Client einzelne Datensätze nachladen bei änderung

beantworten | zitieren | melden

Hallo Leute,

ich arbeite an einer Software die aus einer Datenbank jede menge Daten läd, z.B. Kontaktdaten...
Jetzt gibts nun auch mehrere User die unter anderem neue Kontakte anlegen oder bestehende editieren können. Nun will ich natürlich nich ständig bei den Clients immer alles provisorisch nachladen sondern nach möglichkeit eben nur genau die änderung.

Wie kann man das am besten realisieren? Schickt man zumbeispiel vom Server bei irgendeiner änderung eine Nachricht an die Clients oder was empfiehlt sich bei sowas?
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15806
Herkunft: BW

beantworten | zitieren | melden

Bei mir verbinden sich Clients immer mit einem Json-Webservice; dort holen sie initial die Daten.
Zeitgleich verbinden sich die Clients mit einem SignalR Hub, über den Aktualisierungen an die Clients gepusht werden.

Wenn ein Client einen Datensatz an den WebService zum hinzufügen / aktualisieren übergibt und das Schreiben in die DB erfolgreich war, dann wird dieser Datensatz "gebroadcastet".
Lockings, damit zwei Clients nicht an einem Datensatz arbeiten, realisiere ich normalerweise via Optimistic Concurrency
private Nachricht | Beiträge des Benutzers
Coffeebean
myCSharp.de - Team

Avatar #avatar-3295.gif


Dabei seit:
Beiträge: 2459
Herkunft: Deutschland/Schweiz

beantworten | zitieren | melden

Ich kenne jetzt deine Umgebung nicht, aber mit SignalR hat man die Möglichkeit Veränderungen vom Server an den Client zu schicken. Üblicherweise schickt man da aber einfach den kompletten editierten Datensatz (beispielsweise einen Kunden) als JSON. Alles andre wäre recht viel Aufwand, weil du ja clientseitig wieder prüfen musst, was sich geändert hat etc.

Andersrum (Client --> Server) verwendet man für Partialupdates das HttpPatch-Verb. Da werden nur die Änderungen hoch an den Server geschickt.

Gruss

Coffeebean
private Nachricht | Beiträge des Benutzers
Coooder
myCSharp.de - Member



Dabei seit:
Beiträge: 186

Themenstarter:

beantworten | zitieren | melden

okay vielen dank, damit komm ich weiter
private Nachricht | Beiträge des Benutzers