ich habe eine Schnittstelle 'IPartnerRepository' zweimal implementiert und möchte nun, je nach Datenquelle, in der Lage sein, die eine oder die andere Implementierung mit Unity Dependency Injection zu binden. Dafür habe ich in der Web.config-Konfigurationsdatei die Registrierung folgendermaßen vorgenommen:
Den Container habe ich im Event-Handler 'Application_Start' konfiguriert:
var container = new UnityContainer(); container.AddNewExtension<EnterpriseLibraryCoreExtension>(); container.LoadConfiguration(); DependencyResolver.SetResolver(new UnityDependencyResolver(container));
Hier die Klasse 'UnityDependencyResolver':
public class UnityDependencyResolver : IDependencyResolver { readonly IUnityContainer _container;
public UnityDependencyResolver(IUnityContainer container) { _container = container; }
Du musst beim Abfragen des IParnerRepository über das IUnityContainer interface gehen. Dein IDependencyResolver interface unterstützt nämlich nicht die
T Resolve<T>(string name);
Methode, welche das IUnityContainer interface aber unterstützt. Du kannst natürlich auch das IDependencyResolver entsprechend erweitern.
danke für Dein Tipp. Hat nun alles geklappt, wie ich es mir vorgestellt habe.
Gruß.