Because multiple users can visit the same web page concurrently, it is possible for a user visiting a data modification page to inadvertently overwrite
the modifications made by another user. Consider a page with an editable GridView. If two users visit this page simultaneously from different computers
and both edit the same row, whomever saves the first will have her changes overwritten by whomever saves the row last. This type of behavior is known as
"last write wins" and is the default behavior for web applications.
"Last write wins" is sufficient in applications where it is very rare for two users to be simultaneously working on the same data. If it is
commonplace for multiple users to be modifying the same set of data, you should consider implementing some form of concurrency control.
There are two flavors of concurrency control: optimistic and pessimistic. Optimistic assumes that concurrency violations are rare and that if such an error
occurs that it's adequate to ask one of the conflicting parties to re-enter their information. Pessimistic concurrency, on the other hand, implements
policies to ensure that concurrency violations cannot occur. These policies may add friction to the end user's data entry experience.
Microsoft offers a form of optimistic concurrency control from the SqlDataSource control that can be enabled by ticking a checkbox. This article looks
at different types of concurrency control and then shows how to implement the built-in optimistic concurrency control offered by the SqlDataSource control.
Read on to learn more!
Read More >
Did you know that DotNetSlackers also publishes .net articles written by top known .net Authors? We already have over 80 articles in several categories including Silverlight. Take a look: here.