Я использую Simple Injector в приложении ASP.NET 5, и мне нужно переключить свои Identity
регистрации из встроенного Microsoft DI.
В настоящее время это выглядит так;
services.AddIdentity<AppUser, AppRole>(o => {
o.Password.RequiredLength = 6;
o.Password.RequireNonLetterOrDigit = false;
o.Password.RequireDigit = true;
o.Password.RequireLowercase = false;
o.Password.RequireUppercase = false;
})
.AddUserStore<UserStore<AppUser>>()
.AddRoleStore<RoleStore<AppRole>>()
.AddDefaultTokenProviders();
Я знаю, как использовать Container.Register<T>
, но мне трудно найти эквивалентный способ регистрации этих конкретных вещей в Simple Injector. Кто-нибудь еще сделал это, что может помочь?
Я пытаюсь сделать это, потому что мне нужно использовать внедрение свойств; У меня есть задача, которая будет настроена с использованием Quartz.NET
, и она создает экземпляры сама по себе, например:
public class HelloJob : IJob
{
public void Execute(IJobExecutionContext context)
{
Console.WriteLine("Greetings from HelloJob!");
}
}
// define the job and tie it to our HelloJob class
IJobDetail job = JobBuilder.Create<HelloJob>()
.WithIdentity("job1", "group1")
.Build();
// Trigger the job to run now, and then repeat every 10 seconds
ITrigger trigger = TriggerBuilder.Create()
.WithIdentity("trigger1", "group1")
.StartNow()
.WithSimpleSchedule(x => x
.WithIntervalInSeconds(10)
.RepeatForever())
.Build();
// Tell quartz to schedule the job using our trigger
scheduler.ScheduleJob(job, trigger);
Мне нужно что-то сделать с базой данных внутри HelloJob.Execute
, но так как это не Controller
(а даже если бы и был, то не активировался бы как один), я не могу внедрить базу данных в конструктор.
Controller
. Я искал несколько дней, и это кажется невозможным со встроенной инъекцией зависимостей, поэтому мне нужно изучить стороннюю. - person Ciel   schedule 27.12.2015Quartz.NET
, и для этого созданный мнойIJob
должен попасть в базу данных. Я не могу придумать никакого другого способа получить базу данных, кроме внедрения свойств или жестко закодированного экземпляра. Итак, я пробую SimpleInjector. - person Ciel   schedule 27.12.2015