[FIXED] UserManager wirft weiterhin ein System.

Ausgabe

Ich versuche, den Standard Idin AspNetUsersvon nvarcharbis zu implementieren int. Ich habe es geschafft, diese Seite zum Laufen zu bringen. Mein Problem ist jedoch, dass ich beim Versuch, mich anzumelden, immer wieder eine Fehlermeldung von der UserManagerKlasse erhalte.

Mein Code ist unten:

public class UserManager : UserManager<ApplicationUser, int>
{
    public UserManager(IUserStore<ApplicationUser, int> store) 
    : base(store) 
{ 
}

Und auf der Anmeldeseite habe ich

if (IsValid)
        {
            // Validate the user password
            var manager = Context.GetOwinContext().GetUserManager<UserManager>();
            var user = manager.Find(UserName.Text, Password.Text); //This line throws the error
            if (user != null)
            {
                IdentityHelper.SignIn(manager, user, isPersistent: false);
                Response.Redirect("~/Home.aspx");                }
            else
            {
                FailureText.Text = "Invalid username or password.";
                ErrorMessage.Visible = true;
            }
        }

Der Fehler, den ich immer wieder erhalte, ist System.ArgumentNullException: Value cannot be null. Parametername: manager . Ist noch jemand auf dieses Problem gestoßen? Vielen Dank im Voraus für Ihre Hilfe

Stack-Trace

[ArgumentNullException: Value cannot be null.
Parameter name: manager]
Microsoft.AspNet.Identity.UserManagerExtensions.Find(UserManager`2 manager, String userName, String password) +221
Account_Login.LogIn(Object sender, EventArgs e) in Login.aspx.cs:17
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +9628026
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +103
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +35
System.Web.UI.<ProcessRequestMainAsync>d__14.MoveNext() +5226

Lösung

Stellen Sie sicher, dass UserManageres in Ihrem OWIN-Kontext registriert ist. Du solltest so etwas in deiner StartupKlasse haben:

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

Stellen Sie außerdem sicher, dass Sie ein [assembly: OwinStartup(typeof(YourNamespace.Startup))]Attribut auf Ihre Webassembly angewendet haben.


Beantwortet von –
Sergey Kolodiy


Antwort geprüft von –
David Marino (FixError Volunteer)

0 Shares:
Leave a Reply

Your email address will not be published. Required fields are marked *

You May Also Like