मैं कैसल 2.5.2 से 3.0 करने के लिए कुछ कोड का स्थान बदलना कर रहा हूँ, मैं पूर्वनिर्धारित पंजीकरण (मेरे बूट कोड में) का एक सेट है कि कुछ इस तरह के रूप सम्मेलनों पर आधारित सामग्री को करता है:कैसल विंडसर 3.0 ComponentRegistration "ServiceType"
container.Register
(
AllTypes.FromAssemblyInDirectory(new AssemblyFilter("."))
.IncludeNonPublicTypes()
.Where(t => conventions.IsViewModel(t) && !conventions.IsExcluded(t))
.WithService.Select((type, baseTypes) => conventions.SelectViewModelContracts(type))
.Configure(r =>
{
r.Properties(PropertyFilter.IgnoreAll);
if(conventions.IsShellViewModel(r))
{
r.LifeStyle.Is(LifestyleType.Singleton);
}
else
{
r.LifeStyle.Is(LifestyleType.Transient);
}
})
);
विंडसर 2.5.2 में घटक पंजीकरण श्रेणी में एक सेवा प्रकार की संपत्ति है, 3.0 में एक सेवा संपत्ति है लेकिन "आंतरिक संरक्षित" है।
मेरे सम्मेलन हैंडलिंग इस तथ्य पर निर्भर करता है कि मुझे यह जानने की जरूरत है कि कौन सी सेवाएं हैं।
मैं यह जानकारी कैसे प्राप्त कर सकता हूं?
मीटर
वर्तमान में मैं आंशिक रूप से यह ComponentRegistration प्रतिबिंब का उपयोग पर सेवाएं प्रॉपर्टी एक्सेस समाधान कर लिया है, लेकिन PITA है। –