Как настроить Ninject для MVC4 и предоставить пользовательское членство?
По этой статье описаниезаказ членства поставщик-с репозитария впрыском
Я реализую пользовательское членство с предоставлением.
Пользовательское членство провайдера
using Ninject;
public class CustomMembershipProvider : MembershipProvider
{
[Inject]
public IUserRepository UserRepository { get; set; }
[...]
Пользовательский поставщик ролей
using Ninject;
public class CustomRoleProvider : RoleProvider
{
[Inject]
public IUserRoleRepository UserRoleRepository { get; set; }
[...]
вWeb.Config
Теперь внутриNinjectWebCommon
private static IKernel CreateKernel()
{
var kernel = new StandardKernel();
kernel.Bind().ToMethod(ctx => () => new Bootstrapper().Kernel);
kernel.Bind().To();
RegisterServices(kernel);
return kernel;
}
private static void RegisterServices(IKernel kernel)
{
[...]
kernel.Bind().To();
kernel.Bind().To();
// Inject user & role repository into our custom membership & role providers.
kernel.Inject(Membership.Provider);
kernel.Inject(Roles.Provider);
}
когда я запускаю приложение, я получаю сообщение об ошибке
Этот метод не может быть вызван во время приложенияПредварительная стадия инициализации.
отkernel.Inject(Membership.Provider);
эта линия
Но если я настройку ядра ставлю внутриApplication_Start
Я получил ниже Ошибка
Ошибка активации IUserRepository Соответствующие привязки недоступны, а тип не является самосвязываемым. Путь активации: 2) Внедрение зависимости IUserRepository в свойство UserRepository типа CustomMembershipProvider 1) Запрос на CustomeMembershipProvider
Как это решить. ??