【发布时间】:2016-05-09 11:42:01
【问题描述】:
使用 C#/Asp.Net
我有一个应用到 Web 服务的应用程序。返回时会发生几件事:
void Cleanup(Response response)
{
// My web service takes up to 30 seconds
// then this method is called
// I send this email
var email = SaleEmail.Create(
response.ID
DateTime.Now,
"A sale was made!");
email.Send();
// Then redirect
Response.Redirect(response.RedirectUrl, false);
Context.ApplicationInstance.CompleteRequest();
}
这个想法是,在网络服务完成后,会发送一封电子邮件,然后重定向页面。
以前,我使用普通重定向 - 结果是 90% 的电子邮件从未发送过。
我已经更改了重定向模式,但它仍然不完美 - 我猜 25% 的电子邮件仍然没有通过。
有人建议对我的模式进行任何改进吗?
电子邮件代码:
public static void Send(MailMessage message)
{
Guard.Argument.NotNull(() => message);
var c = new SmtpClient();
try
{
c.Send(message);
}
catch (Exception ex)
{
}
finally
{
c.Dispose();
message.Dispose();
}
}
【问题讨论】:
-
你用过smtpClient吗?
-
我正在使用 WebClient 但这不是问题 - 如果我删除重定向一切正常。我曾经显示一个启动屏幕并让用户重定向自己,但这不再可能。
-
我说的是使用 smtpClient 发送邮件?
-
email.Send();会发生什么 -
@PranavPatel - 对不起,误解了 - 电子邮件代码现在发布在上面
标签: c# asp.net response.redirect