Traduzindo Ninject para ASP.NET MVC 6 DI
Estou tentando entrar no novo material do ASP.NET MVC 6, mas estou tendo dificuldades com o novo sistema de DI. Tentei encontrar recursos on-line, mas tudo o que acho abrange apenas o mínimo mais absoluto possível de usá-lo.
Eu estava usando anteriormenteNinject
e tenho várias conexões que funcionam assim:
Bind<IDocumentStore>()
.ToMethod(c => CreateDocumentStore())
.InSingletonScope();
private static IDocumentStore CreateDocumentStore() {
// lots of initialization code, etc.
return documentStore;
}
Mas até agora estou tendo dificuldades para descobrir como traduzir esse tipo de comportamento no novo sistema de DI da Microsoft. Tudo o que posso encontrar são exemplos como este:
services.AddTransient<IEmailSender, AuthMessageSender>();
services.AddTransient<ISmsSender, AuthMessageSender>();
e:
services.AddMvc();
Onde tudo parece funcionar inteiramente no construtor padrão para o serviço de destino. Existe alguma maneira de produzir o comportamento que estou precisando neste novo sistema de DI?
Eu vi o
services.Configure<TOptions>(options => {});
Mas não estou muito claro se isso fará o que estou pensando ou se é reservado para comportamentos específicos.