Wie werden Komponenten mit Castle 3.0 entfernt?

8

Ich habe IWindsorContaner, das für die gesamte Lebensdauer der Anwendung existiert. Für Unittests ist es möglich, Mocks / Stubs usw. unter ihrem Typ zu registrieren. Wenn der Test beendet ist und die Fixtur entsorgt ist, werden die registrierten Komponenten für den Test mit einer selbst erstellten Methode namens "Unregister" entfernt.

Nun möchte ich auf die neueste Castle-Version aktualisieren, die 3.0 ist. Laut 3.0 Release Notes ist so etwas wie

%Vor%

ist nicht mehr möglich, da die IKernel.RemoveComponent-Methode entfernt wurde. Die Beschreibung, um das zu beheben, ist nicht wirklich ausreichend ("Versuche, IHandlerSelectors zu verwenden.").

Eine vereinfachte Version der Fixture, die ich für Unittests verwende:

%Vor%

}

Wie kann ich Komponenten mit Castle 3.0 entfernen?

    
Antineutrino 29.02.2012, 14:48
quelle

1 Antwort

2

Anstatt zu versuchen, alle Komponenten zu entfernen, erstellen Sie einfach eine neue IWindsorContainer und binden Sie diese an das, was GetOrCreateContext prüft. Dann haben Sie einen frischen, neuen Behälter, an den nichts gebunden ist.

    
eouw0o83hf 08.03.2012, 02:03
quelle

Tags und Links