A unidade de padrão de trabalho dentro de um aplicativo asp.net mvc

Eu tenho olhado para este excelenteblog intitulado "NHibernate e o padrão de unidade de trabalho" e ter uma pergunta sobre o melhor lugar para usar UnitOfWork.Start em um projeto asp.net mvc.

Meu SLN é dividido nos seguintes projetos:

 MVC project
 Repository
 NHibernateUnitOfWork

Eu tenho uma interface: -

 public interface INameRepository
 ...
       IList<Name> GetByOrigin(int OriginId)
 ...

Eu tenho uma implementação concreta

     public class NameRepository : INameRepository
     ...
          public  IList<Name> GetByOrigin(int OriginId) {
                using (UnitOfWork.Start()) {
                     var query = session.Linq<...
                     return query;
                }
          }
     ...

Minha pergunta é que eu envolvo todos os meus métodos dentro de todos os meus repositórios usando (UnitOfWork.Start ()) ou existe uma abordagem melhor?

Eu estou usando o nHibernate, asp.net mvc.

questionAnswers(2)

yourAnswerToTheQuestion