Uygulamamın her zaman hizmetleri tekil olarak kullanmasını istiyorum, varsayılan olarak singleton kapsamını kullanmak için Ninject'i nasıl kurarım? Türlerimi kaydetmek için sözleşmeler kullanıyorum, Bind <> yöntemini kullanmam gerekir mi?Tüm türler için varsayılan olarak singleton kullanımını kullanmak için 3 nolu yapıya nasıl söyleyebilirim?
5
A
cevap
8
Hy, varsayarsak tüm hizmetler aşağıdaki
kernel.Bind(x => x
.FromThisAssembly()
.SelectAllClasses().InheritedFrom<IService>()
.BindAllInterfaces()
.Configure(b => b.InSingletonScope()));
Sen gerekebilir
gibi aşağıdaki kullanarak deyimi
using Ninject.Extensions.Conventions;
Kullanım kuralları ekle yazabilir IService
devralan İhtiyaçlarınıza göre biraz karıştırın.
3.0.1.10 sürümü, bu imzayla Bind yöntemine sahip değil. – Alexanderius
@Alexanderius, bu bir Ninject.Extensions.Conventions uzantısıdır. –