Creating a factory to resolve instances by key results in multiple Torn Lifestyle Warnings

Jan 26, 2015 at 2:20 PM
I have followed the guidance in the Simple Injector documentation regarding resolving instances by key, using <lifestyle>.CreateRegistration to create multiple registrations for a given interface. When my application starts, I receive multiple Torn Lifestyle warnings containing the text:
The registration for ITransactionRegistrationService maps to the same implementation and lifestyle as the registration for ITransactionRegistrationService does
Is this expected? Can I safely ignore these warnings?
Coordinator
Jan 26, 2015 at 4:37 PM
Hi @pmarfleet, the torn lifestyle is a new feature - would you be able to provide some basic code to demonstrate this?
Coordinator
Jan 26, 2015 at 6:44 PM
Take a look at the Torn Lifestyle page in the documentation. It will hopefully make it more clear why the container is warning you.
Jan 26, 2015 at 9:38 PM
My application allows the user to configure, through the user interface, which payment provider they want to use to process credit card payments (SagePay, Barclaycard etc). There are therefore multiple implementations registered against the same interface (ITransactionRegistrationService). When a user chooses to process a CC payment, I need to resolve the implementation of ITransactionRegistrationService that is currently configured as the default provider for processing CC payments. My factory class for resolving implementations of ITransactionRegistrationService follows the final example given in the above article. Am I OK to ignore these warnings, or should I be looking to solve this problem in a different way?
Coordinator
Jan 26, 2015 at 9:46 PM
I'm not sure. Can you show the relevant portion of your configuration?