Hallo Leute,
ich baue seit einiger Zeit an einem WebService. Da es für einige Objekte eine enorme Anzahl gibt stellt sich die Frage nach Caching-Mechanismen um Wartezeiten und Traffic zu minimieren. Mir spielt zu, das alles noch in eine Art "Client API" gepackt werden soll - Änderungen an Klassen sind also noch möglich. Nun bin ich am hin und her überlegen, da das Ganze doch ziemlich kompex ist, wie ich beides Koppeln könnte und bin der Meinung, das DataBinding und deren Events doch ideal wären um zum Beispiel nur die geänderten Objekte zu Übertragen.
Um das Problem besser zu Skizzieren nehme ich einfach mal ein Onlineshop. Dieser hat 1000 Artikel. Beim Starten der Clientanwendung werden alle Warengruppen abgefragt. Klickt man auf eine werden deren Artikel abgerufen um nicht alle 1000 mit einmal übertragen zu müssen.
Meine Überlegung war es nun in der "Client API" ein Collection zu Erstellen die von BindingList<T> erbt. In dieser werde alle Artikel der Warengruppe abgelegt und eine Refenz darauf wird zurückgegeben, damit ich die Änderungen in der API auch merke. Die Events, OnAddingNew zum Beispiel kann ich dann ja in der API behandeln. Oder würde es schon reichen nur eine einfache Collection vom Type IList<T> zurückzugeben. Wie aber merke ich dann Änderungen an dieser?
Oder habe ich das Thema DataBinding missverstanden und DataBindung und Caching finden nur in der Oberfläche statt?
Ziel ist es, dass die zu entwickelnde API die reine Kommunikation mit dem WebService übernimmt und die Anwendung nur mit der API interagiert. Die API aber zeitgleich den Traffic minimiert in dem Daten zwischengehalten werden und nicht jedes Mal alles erneut abgerufen wird. Leider ist Caching am WebService selbst nicht unbedingt möglich, da der Flaschenhalz eindeutig der Transportweg ist.
Danke schon Mal an alle die zu verstehen versuchen, was ich meine. 🙁