2017-08-30 1 views
0

Verwendete Anweisungen von Konto Bestätigung und Passwortwiederherstellung mit ASP.NET-Identität (C#) gemäß Anweisungen in Registrierungscode in Visual Studio 2017 Kontoordner für Projekt gefunden.Keine Bestätigungs-E-Mail bei der Registrierung in Register.aspx.cs gesendet

Fehlermeldung:

System.InvalidOperationException: 'UserId nicht gefunden'

Punkt, an dem es fehlgeschlagen: In Register.aspx.cs

using System; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using Microsoft.AspNet.Identity; 
using Microsoft.AspNet.Identity.Owin; 
using Owin; 
using FHSF_5_DEV.Models; 
     : 
     : 
     : 

     protected void CreateUser_Click(object sender, EventArgs e) 
     { 
      var manager = Context.GetOwinContext().GetUserManager<ApplicationUserManager>(); 
      var signInManager = Context.GetOwinContext().Get<ApplicationSignInManager>(); 
      var user = new ApplicationUser() { UserName = UserName.Text, Email = UserEmail.Text }; 
      IdentityResult result = manager.Create(user, Password.Text); 
      if (result.Succeeded) 
      { 
       string code = manager.GenerateEmailConfirmationToken(user.Id); 
       string callbackUrl = IdentityHelper.GetUserConfirmationRedirectUrl(code, user.Email, Request); 
     ==> manager.SendEmail(user.Email, "Confirm your account", "Please confirm your account by clicking <a href=\"" + callbackUrl + "\">here</a>.");** 

Antwort

0

Die User.Email anstelle des User.ID. verwendet wurde Der ursprüngliche Code hatte den Authentifizierungscode unter der Annahme eingerichtet, dass die E-Mail und die Benutzer-ID/der Benutzername identisch waren.

Verwandte Themen