Desidero che la mia applicazione utilizzi sempre i servizi come singleton, come faccio a impostare Ninject per utilizzare l'ambito Singleton per impostazione predefinita. Sto usando le convenzioni per registrare i miei tipi, devo usare il metodo Bind <>?Come si dice a ninject 3 di utilizzare l'ambito Singleton per impostazione predefinita per tutti i tipi?
5
A
risposta
8
Hy, Assumendo tutti i servizi ereditano da IService
è possibile scrivere il seguente
Aggiungere la seguente istruzione using
using Ninject.Extensions.Conventions;
utilizzare le convenzioni come
kernel.Bind(x => x
.FromThisAssembly()
.SelectAllClasses().InheritedFrom<IService>()
.BindAllInterfaces()
.Configure(b => b.InSingletonScope()));
Potrebbe essere necessario twittalo un po 'alle tue esigenze.
La versione 3.0.1.10 non ha il metodo Bind con questa firma. – Alexanderius
@Alexanderius, questa è un'estensione Ninject.Extensions.Conventions. –