ASP.NET MVC, Ninject, instância única por solicitação para vários construtores

Estou tentando implementar um padrão de unidade de trabalho passando uma instância de unidade de trabalho para meus repositórios.

Código relevante do 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>();
    }
}


Construtores de repositório:

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

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


O que eu quero é que no máximo 1 instância deSqlUnitOfWork é criado por solicitação e passado para meus repositórios (por meio de seus respectivos construtores).

É oInRequestScope() método noIUnitOfWork obrigatório o suficiente? Se não, como posso conseguir isso?

questionAnswers(1)

yourAnswerToTheQuestion