Injektion von UserManager & SignInManager

Ich versuche herauszufinden, wie UserManager und SignInManager injiziert werden. Ich habe Ninject in meiner Anwendung installiert und benutze es folgendermaßen:

Bitte betrachten Sie dies als ein brandneues Projekt. In Startup.cs habe ich Folgendes:

public partial class Startup
{
    public void Configuration(IAppBuilder app)
    {
        ConfigureAuth(app);

        app.UseNinjectMiddleware(CreateKernel);
    }

    private static IKernel CreateKernel()
    {
        var kernel = new StandardKernel();
        kernel.Load(Assembly.GetExecutingAssembly());


        return kernel;
    }
}

now, wenn ich eine Dummy-Klasse erstellen und versuchen würde, sie basierend auf ihrer funktionierenden Schnittstelle zu injizieren. Ich habe es getestet Was ich versuche herauszufinden, ist, wie ich jetzt das folgende aus Startup.Auth.cs herausziehen und es einspritzen würde. Da ich keine Schnittstellen habe, auf die ich mich verlassen kann, bin ich mir nicht sicher, wie das gemacht wird:

app.CreatePerOwinContext(ApplicationDbContext.Create);
app.CreatePerOwinContext<ApplicationUserManager>(ApplicationUserManager.Create);
app.CreatePerOwinContext<ApplicationSignInManager>(ApplicationSignInManager.Create);

Um dies noch einmal zu verdeutlichen, lautet meine Frage: Wie instanziiere ich ApplicationUserManager und ApplicationSignInManager und füge es in meine Controller-Parameter ein. Hier ist der Controller, in den ich das einspeisen möchte:

public AccountController(ApplicationUserManager userManager, ApplicationSignInManager signInManager)
{
    UserManager = userManager;
    SignInManager = signInManager;
}

BEARBEITEN

Hier ist, was ich versucht habe:

private static IKernel CreateKernel()
{
    var kernel = new StandardKernel();
    kernel.Load(Assembly.GetExecutingAssembly());

    kernel.Bind<IUserStore<ApplicationUser>>().To<UserStore<ApplicationUser>>();
    kernel.Bind<UserManager<ApplicationUser>>().ToSelf();

    return kernel;
}

Aber damit bekomme ich null Referenzfehler

Antworten auf die Frage(4)

Ihre Antwort auf die Frage