Possible Duplicates:
unit-of-work-pattern-in-net
rhinocommons-unitofwork-question-with-asp-net-mvc
The Unit of Work pattern is a way to keep in a context to track all the actions on your domain and to apply them all at once when your - possibly - complex logic is done.
When used with an ORM (NHibernate for instance), it is considered good practice to implement the unit of work with a shared ISession (or DataContext in Linq 2 Sql) used for every action to the underlying db.
It can be tricky to implement right, especially when dealing with server applications, mainly ASP.Net MVC or ASP.Net Webforms.
I've dabbled with the implementation in Rhino.Commons (geared towards NHibernate) and I know of several others, without a good grasp of what are the upsides and downsides of them.
What are the most commonly used, and how to integrate them seamlessly in ASP.Net MVC (or WebForms but I'm mostly interested in MVC) ?