asp.net-mvc – MvcMailer SendAsync阻止ASP.NET MVC请求吗?
有谁知道SmtpClientWrapper中的MvcMailer SendAsync方法是否阻止ASP.NET MVC请求?看看MvcMailer维基和代码,我会说是的.
所以我仍然需要使用像WebBackgrounder这样的东西来讨论here在我的MVC应用程序中发送一个安全且真正异步的邮件? 我正在寻找一个明确的答案谢谢. 解决方法
下载MvcMailer并运行我自己的测试后,我可以确认SendAsync确实阻止了ASP.NET请求,直到完成.
Microsoft确认此行为https://connect.microsoft.com/VisualStudio/feedback/details/688210/smtpclient-sendasync-blocking-my-asp-net-mvc-request “SendAsync()调用SynchronizationContext.OperationStarted(),这是在异步操作完成之前不处理HttpContext实例(甚至推进请求)的提示.” 由于MvcMailer只是从System.Net.Mail包装SendAsync,它也受到同样的限制. 异步发送电子邮件的正确方法是使用类似WebBackgrounder的东西,因为它是一个完全后台操作(所以如果你使用SendAsync或Send无关紧要). 为了简单起见,您还可以使用Ajax发送电子邮件,但这样做的缺点是客户端而不是服务器操作. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-core – .AddDbContext方法在哪里?
- asp.net-mvc – 可靠地处理ASP.NET MVC模型绑定错误
- asp.net-mvc-2 – 为什么我们在ASP.NET MVC中使用HTML助手?
- Asp.Net Mvc – 用JQuery替换Ajax.ActionLink
- asp.net – 如何指定相对于站点根目录的路径?
- asp.net-mvc – 建议在开发期间使用nhibernate设置种子数据
- asp.net-mvc – 为什么编码逗号URL?
- asp.net-mvc-4 – 如何为OData服务配置Upshot.js?
- asp.net-mvc-3 – 删除Razor MVC 3中的HTML格式
- asp.net – 在web.config中添加程序集引用
- asp.net – 你预编译你的网站,为什么不为什么不呢
- asp.net-mvc – ASP.NET MVC ModelMetaData:有没
- asp.net-mvc – 每个验证属性的所有不显眼的验证
- asp.net – HTML源代码中的大型viewstate
- ABP虚拟文件系统(VirtualFileSystem)实例------定
- ASP.NET Core 2.0 支付宝扫码支付的实现代码
- asp.net-mvc – ASP.NET MVC应用程序中丰富的UI可
- asp.net-mvc-4 – 如何在MVC 4中从tempdata获取对
- asp.net-mvc – WebApi(ApiController)与ASP.Net
- asp.net – 如何在所选项目上启用工作流状态“写