Перевод Ninject в ASP.NET MVC 6 DI
Я пытаюсь войти в новый материал ASP.NET MVC 6, но мне очень тяжело с их новой системой DI. Я пытался найти ресурсы в Интернете, но все, что я нахожу, охватывает только абсолютный минимум, чтобы использовать его.
Я ранее использовалNinject
и у меня есть несколько подключений, которые работают так:
Bind<IDocumentStore>()
.ToMethod(c => CreateDocumentStore())
.InSingletonScope();
private static IDocumentStore CreateDocumentStore() {
// lots of initialization code, etc.
return documentStore;
}
Но до сих пор мне трудно понять, как перевести такое поведение в новую систему DI от Microsoft. Все, что я могу найти, это примеры:
services.AddTransient<IEmailSender, AuthMessageSender>();
services.AddTransient<ISmsSender, AuthMessageSender>();
а также:
services.AddMvc();
Где, кажется, все работает полностью на конструкторе по умолчанию для целевой службы. Есть ли какой-нибудь способ произвести поведение, которое мне нужно в этой новой системе DI?
Я видел
services.Configure<TOptions>(options => {});
Но я не совсем понимаю, будет ли это делать то, что я думаю, или это зарезервировано для конкретного поведения.