Ich verwende zum ersten Mal Simple Injector. In meinem .NET-Projekt leite ich testen und spöttisch zurückgegebenen Daten von einem Webdienst und Registrierung des Objekts an die Behälter wie soEinfacher Injektor, kann bestehende Registrierung nicht überschreiben
_container.Register<IWebServiceOrder>(() => mock.Object, Lifestyle.Transient);
Dies funktioniert gut. Aber in meinen Tests möchte ich das Verhalten des Systems bei einem zweiten Aufruf an den Web-Service testen, der aktualisierte Daten enthalten wird, so dass das Mock-Objekt aktualisiert werden muss.
Standardmäßig erlaubt Simple Injector das Überschreiben bestehender Registrierungen nicht, aber die offizielle Website gibt an, dass dieses Verhalten wie unten beschrieben geändert werden kann.
https://simpleinjector.readthedocs.org/en/latest/howto.html#override-existing-registrations
container.Options.AllowOverridingRegistrations = true;
Leider bekomme ich noch einen Fehler, wenn ich versuche, das Objekt ein zweites Mal sogar mit dem obigen Code zu registrieren.
Der Behälter nach dem ersten Aufruf zu GetInstance, GetAllInstances kann und
Alle Ideen, warum dies geschieht Verify geändert werden?
Siehe [hier] (https://simpleinjector.readthedocs.org/en/latest/decisions.html#the-container-is-locked-after-the-first-call-to-resolve) warum der Container ist nach dem ersten Aufruf gesperrt, um zu lösen. – qujck