If you are using MEF as in the article then when ever you want an instance to be created Per Request export it like this:
interface IFileReader {
int ReadChar(string fileName);
}
[Export(typeof(IFileReader))]
[PartCreationPolicy(CreationPolicy.NonShared)]
class FileReaderImpl : IFileReader {
// IMPLEMENTATION GOES HERE
}
Of course this is specific to MEF (MEF Lifestyles), but if you want you can use your favorite container, there is one provided with Caliburn.Micro called SimpleContainer
, the docs for that will be out soon but the API is pretty intuitive and if you like you can use other containers like Unity, Ninject, etc. Check out this link about using Unity, the process for other containers is pretty similar.