Attualmente sto utilizzando Simple Injector per la prima volta. Nel mio progetto .NET Sono in esecuzione di test e dati beffardo tornato da un servizio Web e registrare l'oggetto al contenitore in questo modoIniettore semplice, non può ignorare la registrazione esistente
_container.Register<IWebServiceOrder>(() => mock.Object, Lifestyle.Transient);
Questo funziona bene. Ma nei miei test voglio testare il comportamento del sistema su una seconda chiamata al servizio web che conterrà dati aggiornati, quindi l'oggetto mock dovrà essere aggiornato.
Per impostazione predefinita, Simple Injector non consente l'override delle registrazioni esistenti ma il sito Web ufficiale afferma che è possibile modificare questo comportamento come di seguito.
https://simpleinjector.readthedocs.org/en/latest/howto.html#override-existing-registrations
container.Options.AllowOverridingRegistrations = true;
Purtroppo ancora ottengo un errore quando si tenta di registrare l'oggetto una seconda volta anche con il codice di cui sopra.
Il contenitore non può essere modificato dopo la prima chiamata a getInstance, GetAllInstances e Verifica
Tutte le idee su perché questo sta accadendo?
Vedere [qui] (https://simpleinjector.readthedocs.org/en/latest/decisions.html#the-container-is-locked-after-the-first-call-to-resolve) perché il contenitore è bloccato dopo la prima chiamata da risolvere. – qujck