razor-pages - 修复使用 sendgrid 发送验证电子邮件时剃刀页面中的错误 OperationCanceledException
问题描述
我一直在使用 sendgrid 链接https://docs.microsoft.com/en-us/aspnet/core/security/authentication/accconfirm?view=aspnetcore-关注有关“ASP.NET Core 中的帐户确认和密码恢复”的文档2.2&tabs=视觉工作室。一切正常,除了线路
await _emailSender.SendEmailAsync(Input.Email, "Confirm your email",
$"Please confirm your account by <a href='{HtmlEncoder.Default.Encode(callbackUrl)}'>clicking here</a>.");
抛出异常**OperationCanceledException:**这是浏览器中的异常
OperationCanceledException: The operation was canceled.
System.Net.Http.HttpClient.HandleFinishSendAsyncError(Exception e, CancellationTokenSource cts)
System.Net.Http.HttpClient.FinishSendAsyncBuffered(Task<HttpResponseMessage> sendTask, HttpRequestMessage request, CancellationTokenSource cts, bool disposeCts)
SendGrid.SendGridClient.MakeRequest(HttpRequestMessage request, CancellationToken cancellationToken) in SendGridClient.cs
SendGrid.SendGridClient.RequestAsync(Method method, string requestBody, string queryParams, string urlPath, CancellationToken cancellationToken) in SendGridClient.cs
SendGrid.SendGridClient.SendEmailAsync(SendGridMessage msg, CancellationToken cancellationToken) in SendGridClient.cs
EShopWebsite.Areas.Identity.Pages.Account.RegisterModel.OnPostAsync(string returnUrl) in Register.cshtml.cs
-
var callbackUrl = Url.Page(
"/Account/ConfirmEmail",
pageHandler: null,
values: new { userId = user.Id, code = code },
protocol: Request.Scheme);
await _emailSender.SendEmailAsync(Input.Email, "Confirm your email",
$"Please confirm your account by <a href='{HtmlEncoder.Default.Encode(callbackUrl)}'>clicking here</a>.");
#endregion
await _signInManager.SignInAsync(user, isPersistent: false);
return LocalRedirect(returnUrl);
}
Microsoft.AspNetCore.Mvc.RazorPages.Internal.ExecutorFactory+GenericTaskHandlerMethod.Convert<T>(object taskAsObject)
Microsoft.AspNetCore.Mvc.RazorPages.Internal.ExecutorFactory+GenericTaskHandlerMethod.Execute(object receiver, object[] arguments)
Microsoft.AspNetCore.Mvc.RazorPages.Internal.PageActionInvoker.InvokeHandlerMethodAsync()
Microsoft.AspNetCore.Mvc.RazorPages.Internal.PageActionInvoker.InvokeNextPageFilterAsync()
Microsoft.AspNetCore.Mvc.RazorPages.Internal.PageActionInvoker.Rethrow(PageHandlerExecutedContext context)
Microsoft.AspNetCore.Mvc.RazorPages.Internal.PageActionInvoker.Next(ref State next, ref Scope scope, ref object state, ref bool isCompleted)
Microsoft.AspNetCore.Mvc.RazorPages.Internal.PageActionInvoker.InvokeInnerFilterAsync()
Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeNextResourceFilter()
Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.Rethrow(ResourceExecutedContext context)
Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.Next(ref State next, ref Scope scope, ref object state, ref bool isCompleted)
Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeFilterPipelineAsync()
Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeAsync()
Microsoft.AspNetCore.Routing.EndpointMiddleware.Invoke(HttpContext httpContext)
Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware.Invoke(HttpContext httpContext)
Microsoft.AspNetCore.Session.SessionMiddleware.Invoke(HttpContext context)
Microsoft.AspNetCore.Session.SessionMiddleware.Invoke(HttpContext context)
Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware.Invoke(HttpContext context)
Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore.MigrationsEndPointMiddleware.Invoke(HttpContext context)
Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore.DatabaseErrorPageMiddleware.Invoke(HttpContext httpContext)
Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore.DatabaseErrorPageMiddleware.Invoke(HttpContext httpContext)
Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext context)
这可能是什么原因,或者我该如何解决
解决方案
推荐阅读
- javascript - 如何将字典从 localStorage 转换为 Vue 中的对象数组?
- linux - 尽管条件错误,但仍执行 AWK 操作
- javascript - 将数据从父组件传递到子组件(MaterialUI 制作样式)?
- swift - 我的 Swift UI 中的 TextField 对点击和单击无响应,无法输入文本,代码有问题吗?
- r - 在数据框列表中动态设置唯一列名 [R]
- swiftui - SwiftUI 全屏 UIImagePickerController(相机)
- python - 当特定youtuber上传视频时,如何使discord bot在频道中发送消息
- xamarin.forms - 将命令传递给 ContentView 中的按钮
- python-3.x - Python:将二进制转换为十进制
- sql - 动态声明 FROM 要从哪个表名中选择