Ich habe eine ASP.NET-Webanwendung, die Microsoft Identity 2.0 und Unity.Mvc für die Abhängigkeitsinjektion verwendet.Aktivieren Sie Unity, um Abhängigkeiten von OwinContext zu beheben
Microsoft Identity 2.0 registriert UserManager
und SignInManager
innerhalb OwinContext
und ist abhängig von HttpContext
.
Ich möchte diese injizieren innerhalb ManageController
class ManageController
{
public ManageController(IUserManager userManager, ISignInManager signInManager)
{
}
}
jedoch, die eine Ausnahme, da diese wirft noch nicht in UnityContainer
registriert.
Ich habe keine Methode innerhalb UnityContainer
gefunden, um den Typ mit Objekt zu registrieren, das über Delegat initialisiert wurde. etwas wie die
container.RegisterInstance<IUserManager>(() => HttpContext.Current.GetOwinContext().GetUserManager<UserManager>());
Ich habe auch versucht Beispiel von OwinContext zu erhalten und registrieren, dass innerhalb UnityContainer
var userManager = HttpContext.Current.GetOwinContext().GetUserManager<UserManager>();
container.RegisterInstance<IUserManager>(userManager);
jedoch HttpContext.Current
ist null
.
Gibt es sowieso anpassen UnityContainer
Typ Mapping-Verhalten?