Всем привет... Использую в проекте внедрение зависимостей...
Вот мой класс:
class NinjectControllerFactory : DefaultControllerFactory
{
private IKernel ninjectKernel;
public NinjectControllerFactory()
{
ninjectKernel = new StandardKernel();
AddBindigs();
}
protected override IController GetControllerInstance(RequestContext requestContext, Type controllerType)
{
return controllerType == null ? null : (IController)ninjectKernel.Get(controllerType);
}
private void AddBindigs()
{
ninjectKernel.Bind<IUserRepository>().To<EFUserReposiroty>();
ninjectKernel.Bind<IProfileRepository>().To<EFProfileRepository>();
ninjectKernel.Bind<IQuestionRepository>().To<EFQuestionRepository>();
ninjectKernel.Bind<ICategoryRepository>().To<EFCategoriesRepository>();
ninjectKernel.Bind<IAnswerRepository>().To<EFAnswerRepository>();
ninjectKernel.Bind<WebContext>().ToSelf().WithConstructorArgument("connectionString", ConfigurationManager.ConnectionStrings[0].ConnectionString);
}
}
При создании авторизации,я переопределяю класс MembershipProvider и должен вызвать там интерфейс IUserRepository для работы с методами по User...как мне передать мой переопределенный провайдер в ninject,чтоб провайдер узнал реализацию данного интерфейса?!