मैंने मानक एएसपी.नेट एमवीसी प्रोजेक्ट के भीतर एएसपी.NET पहचान मॉडल को ई-मेल सत्यापन जोड़ा। निम्न पंक्ति को एक AccessViolationException कारण बनता है:Url.Action() सिस्टम का कारण बनता है .AccessViolationException
callbackUrl = Url.Action("ConfirmEmail", "Account", confirmModel, Request.Url.Scheme);
अद्यतन:के रूप में बताई नहीं जा सकती, क्योंकि समस्या यह गायब हो गया था। मैं यह पता लगाने की कोशिश करूंगा कि इसे किस तरह से दूर किया गया है। मेरी चिंता के लिए मुझे समाधान में किसी भी नाटकीय परिवर्तन से अवगत नहीं है।
पूरा खाता नियंत्रक विधि दर्ज की उपयोगकर्ताओं के लिए इस तरह दिखता है:
// POST: /Account/Register
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Register(RegisterViewModel model)
{
if (ModelState.IsValid)
{
ApplicationUser user = new ApplicationUser { UserName = model.Email, Email = model.Email };
IdentityResult result = await UserManager.CreateAsync(user, model.Password);
if (result.Succeeded)
{
string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);
string callbackUrl;
try
{
string requestScheme = Request.Url.Scheme;
object confirmModel = new { userId = user.Id, code = code };
callbackUrl = Url.Action("ConfirmEmail", "Account", confirmModel, Request.Url.Scheme); // TODO: Fails somehow!
}
catch (Exception ex)
{
Debug.WriteLine(ex);
callbackUrl = "https://localhost:43000/Account/ConfirmEmail?userid=" + user.Id + "&code=" + code;
}
await
UserManager.SendEmailAsync(
userId: user.Id,
subject: "Verify it's you",
body: "Please confirm your email address by clicking <a href=\"" + callbackUrl + "\">here</a>");
return View("CheckYourEmail");
}
AddErrors(result);
}
// If we got this far, something failed, redisplay form
return View(model);
}
दुर्भाग्य से वहाँ कोई आंतरिक अपवाद या कुछ भी उपयोगी है।
पकड़() ब्लॉक समस्या को हल करने के रूप में हल करता है।
लेकिन मैं वास्तव में उत्सुक हूं कि यहां क्या गलत हो रहा है।
क्या आप अपने प्रश्न में 'ex.ToString()' के पूरे आउटपुट के सटीक पाठ को कॉपी और पेस्ट कर सकते हैं? –
अपवाद पर स्टैक ट्रेस कैसा दिखता है? –