相关疑难解决方法(0)

SmtpClient.SendAsync调用自动取消

每当我smtpClient.SendAsync(...)从ASP.NET MVC应用程序中调用时,异步请求都会自动取消,即使SendAsyncCancel()从未调用过.

.Send(...)另一方面,同步请求通过就好了.

我的EmailService服务包装器处理SmtpClient从我的ASP.NET MVC 3应用程序中发送异步电子邮件.通过StructureMap将服务实例注入到每个MVC控制器中,StructureMap将新SmtpClient实例包装在using (...) { }语句中.

这是我的EmailService.SendAsync包装方法SmtpClient:

public void SendAsync(EmailMessage message)
{
    try
    {
        using (var smtpClient = new SmtpClient(_cfg.Host, _cfg.Port)
        {
            EnableSsl = _cfg.EnableSsl,
            Credentials = _credentials
        })
        {
            smtpClient.SendCompleted += new SendCompletedEventHandler(Email_OnCompleted);

            var mailMessage = new MailMessage(message.From, message.To)
                                {
                                    Subject = message.Subject,
                                    Body = message.Body
                                };

            smtpClient.SendAsync(mailMessage, message);

            _logger.Info(string.Format("Sending async email to {0} with subject [{1}]", …
Run Code Online (Sandbox Code Playgroud)

asp.net asp.net-mvc asynchronous smtp smtpclient

8
推荐指数
1
解决办法
4443
查看次数

标签 统计

asp.net ×1

asp.net-mvc ×1

asynchronous ×1

smtp ×1

smtpclient ×1