Injetando uma dependência no OWIN Middleware e por solicitação da Web com o Simple Injector

Estou tentando descobrir como injetar melhor todas as minhas dependências no OWIN Middleware personalizado que escrevi para um aplicativo de API da Web. Um exemplo simples seria o DbContext que estou usando. Eu tenho algum middleware que precisa potencialmente consultar com base na solicitação. O problema que tenho é que quero que meu DbContext tenha um escopo WebApiRequestLifestyle. Meu DbContext está registrado como tal:

container.Register<MobileDbContext>(Lifestyle.Scoped);

Obviamente, isso não funciona:

container.Options.DefaultScopedLifestyle = new WebApiRequestLifestyle();

Porque eu preciso do MobileDbContext no meu Middleware usando algo como:

app.CreatePerOwinContext(() =>
{
    return container.GetInstance<MobileDbContext>();
};

Tentei um estilo de vida híbrido, mas isso também não funcionou, porque não acho que o Middleware seja tecnicamente algo que possa se enquadrar em um estilo de vida "escopo". Provavelmente é mais perto de um singleton, eu acho.

Existe uma maneira melhor de projetar meu aplicativo para evitar esse problema ou resolvê-lo com algum tipo de estilo de vida com escopo personalizado?

questionAnswers(1)

yourAnswerToTheQuestion