SSDS client demo gets caching support
i added caching support to my SSDS Provisioning Client demo app this evening. now, even when multiple users are editing the same Entities collection, no-one's updates will get 'clobbered' by another user's editing. That's called the Lost Update Problem.
To reduce the chance that users will overwrite someone else's edits to a document, the server code for the SSDS client (my SSDS Proxy) now requires all HTTP PUT
requests to include an If-Match
header that corresponds to the ETag
header sent whenever a client performs an HTTP GET
. By sending the If-Match
value along with the updated document, the server can confirm that the value has not changed - thus proving that no-one else has updated the entity since the previous GET
.
by adding support for caching, this also makes the demo ready for when SSDS itself starts supporting caching. rj has already blogged about support for caching and other cool stuff in the upcoming release of SSDS 'Sprint 3.'
you can check out the source code via my googlecode space. as usual, feedback is most welcome.