Injektion einer Abhängigkeit in die OWIN Middleware und per Webanfrage mit Simple Injector

Ich versuche herauszufinden, wie ich alle meine Abhängigkeiten am besten in die benutzerdefinierte OWIN-Middleware einfügen kann, die ich für eine Web-API-Anwendung geschrieben habe. Ein einfaches Beispiel wäre der von mir verwendete DbContext. Ich habe einige Middleware, die möglicherweise basierend auf der Anfrage abfragen muss. Das Problem, das ich habe, ist, dass ich möchte, dass mein DbContext ansonsten einen WebApiRequestLifestyle-Bereich hat. Mein DbContext ist als solcher registriert:

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

ffensichtlich funktioniert das nicht:

container.Options.DefaultScopedLifestyle = new WebApiRequestLifestyle();

Weil ich den MobileDbContext in meiner Middleware mit etwas wie: @ brauc

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

Ich habe einen hybriden Lebensstil ausprobiert, aber das hat auch nicht funktioniert, weil ich nicht der Meinung bin, dass die Middleware technisch etwas ist, das unter einen "geregelten" Lebensstil fallen kann. Es ist wahrscheinlich näher an einem Singleton, würde ich denken.

Gibt es eine bessere Möglichkeit, meine App so zu gestalten, dass dieses Problem vermieden wird, oder sie mit einem benutzerdefinierten Lebensstil anzugehen?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage