Я использую Ninject в качестве IoC, и я следую учебному пособию, чтобы преобразовать методы по умолчанию для безопасности ASP.NET Owin, чтобы следовать шаблону инъекции зависимостей.Зависимость от зависимостей от предыдущего связывания с использованием Ninject
контекста моей базы данных, MongoDB в данном случае, это переплетен так:
kernel.Bind<IMongoContext>().To<MongoContext>().InSingletonScope();
В настоящее время мой модуль безопасности (инъекции не зависимость), как это:
var users = MongoContext.Create().GetCollection<ApplicationUser>();
var manager = new ApplicationUserManager(new UserStore<ApplicationUser>(users));
Я хотел бы для решения UserStore, как я видел в этом единстве:
container.RegisterType<IUserStore<ApplicationUser>, UserStore<ApplicationUser>>(
new InjectionConstructor(typeof(ApplicationDbContext)));
Ну, приведенный выше код использует Entity Fr В моем случае это будет похоже на мой MongoContext.
Я думаю, что было бы что-тем похожее на
kernel.Bind<IUserStore>.To<UserStore>().WithConstructorArgument(/*some extra option to pass a resolve of my MongoContext*/)
Так что мне нужно знать, как пройти разрешённый MongoContext к UserStore затруднительному.
EDIT: IUserStore и UserStore являются системными классами, а не моими.
У вас есть вопрос? – NightOwl888
Не можете ли вы просто создать свой конструктор 'UserStore', который вводит« IMongoContext »? Это означало бы, что 'WithConstructorArgument()' не понадобится ... – timothyclifford
@ NightOwl888 Обновлено –