Inject repositorio al proveedor de membresía personalizada con Ninject

Estoy tratando de inyectar un repositorio a un proveedor de membresía personalizado con ninject en MVC 3.

In MembershipProvider He intentado lo siguiente:

[Inject]
public ICustomerRepository _customerRepository{ get; set; }

[Inject]
public TUMembershipProvider(ICustomerRepository customerRepository)
{
    _customerRepository = customerRepository;
}

En mi módulo ninject probé lo siguiente:

Bind<MembershipProvider>().ToConstant(Membership.Provider);

Ninguno de los trabajos anteriores.

Cuando uso (en global.asa)

kernel.Inject(Membership.Provider);

Juntos co

[Inject]
public ICustomerRepository _customerRepository{ get; set; }

funciona, pero no tengo administración del ciclo de vida y esto causará un error "ISession is open" de NHibernate, porque ISession es InRequestScope y el repositorio no lo es.

Respuestas a la pregunta(4)

Su respuesta a la pregunta