This project has moved and is read-only. For the latest updates, please go here.

ESENT for web app

Feb 4, 2015 at 8:18 AM
Has anyone tried ESENT as a store for relatively small web app? I'm concerned about its way of transactions isolation. There seems to be no way to lock row for read so that multiple threads didn't overwrite each other changes. Or maybe ESENT is not an option for Web?
Feb 4, 2015 at 6:00 PM
JetGetLock() exists ( see https://msdn.microsoft.com/en-us/library/gg294094(v=exchg.10).aspx ), but are you sure it's what you want?

Usually people like the fact that different transactions don't block each other, as long as they don't write the same cell.
If two different transactions do try that, then the second gets a JET_errWriteConflict/EsentWriteConflictException. The second transaction can then rollback, and try again.

-martin
Feb 4, 2015 at 9:40 PM
For some time, comments on my personal web site were stored in ESENT DB.

I disabled the comments because I did not want to fight spammers; however, it worked well for a few years on my shared asp.net hosting.