I have been looking at this excellant blog titled \"NHibernate and the Unit of Work Pattern\" and have a question regarding the best place to use UnitOfWork.Start in a asp.net m
I think Sharp Architecture solves this quite well. What they do is put the unit of work inside an ASP .Net MVC Action Filter. Basically you can define a transaction Action filter such as
public class TransactionAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
UnitOfWork.Start();
}
public override void OnActionExecuted(ActionExecutedContext filterContext)
{
UnitOfWork.Stop();
}
}
and in your controller class put the Transaction attribute on your Action Result method