ASP.NET MVC, Ninject, einzelne Instanz pro Anforderung für mehrere Konstruktoren

Im Versuch, ein Unit-of-Work-Muster zu implementieren, indem eine Unit-of-Work-Instanz in meine Repositorys übergeben wird.

Relevanter Code aus Global.asax.

public class SiteModule : NinjectModule
{
    public override void Load() {        
       Bind<IUnitOfWork>().To<SqlUnitOfWork>()
                          .InRequestScope()
                          .WithConstructorArgument("connectionString", ConfigurationManager.ConnectionStrings["Entities"].ConnectionString);

       Bind<IProductRepository>().To<ProductRepository>();
       Bind<ICategoryRepository>().To<CategoryRepository>();
    }
}


Repository-Konstruktoren:

public class ProductRepository {
    IUnitOfWork unitOfWork;
    public ProductRepository(IUnitOfWork unitOfWork) {
        this.unitOfWork = unitOfWork;
    }
}

public class CategoryRepository {
    IUnitOfWork unitOfWork;
    public CategoryRepository(IUnitOfWork unitOfWork) {
        this.unitOfWork = unitOfWork;
    }
}


Was ich will ist, dass maximal 1 Instanz vonSqlUnitOfWork wird pro Anforderung erstellt und (über die jeweiligen Konstruktoren) an meine Repositorys übergeben.

Ist derInRequestScope() Methode auf demIUnitOfWork verbindlich genug? Wenn nicht, wie kann ich das erreichen?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage