Ich bin ziemlich neu zu IoC und Castle und ich habe es schwer, eine Klasse durch implementierte Schnittstelle zu registrieren.Castle - Registrierung unbekannter Implementierung
In meiner Anwendung gibt es mehrere Baugruppen mit jeweils einer Klasse implementieren Schnittstelle IErrorCodes. Zur Laufzeit wird festgestellt, ob eine (maximal) dieser Baugruppen/Klassen vorhanden ist UND außerdem gibt es immer DefaultErrorCodes Klasse, die verwendet werden sollte, wenn keine reale Implementierung existiert.
folgenden Code führt bei der Umsetzung (zB. UkErrorCodes) in den Dienstleistungen vorhanden ist Teil des Behälters, aber Castle gibt mir Fehler bei der App zum Teil bekommt, wo die Umsetzung von IErrorCodes sollte sagen injiziert werden " hast du Proxy es“
container.Register(
Classes.FromAssemblyInDirectory(new AssemblyFilter("bin")).
BasedOn<IErrorCodes>().
Unless(t=> t.IsAbstract).
WithServiceBase(),
Component.For<IErrorCodes>()
.IsFallback(c => c == typeof(DefaultErrorCodes)).LifestyleSingleton());