SSDS client demo gets caching support

2008-07-10 @ 23:53#

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.

SDS