【发布时间】:2012-07-09 07:24:48
【问题描述】:
我正在开发一个电子商务网站,我们正在尝试解决一个问题。 客户完成订单后,她会收到三封电子邮件(全部相同)而不是一封。 该网站在三台服务器上运行,我们认为这是问题所在,因为仅使用一台服务器会将一封电子邮件发送给客户。 我想知道我们应该怎么做,这样用户将只收到一封电子邮件而不是三封,我们仍将在三台服务器上运行该网站。 在此先感谢 Laziale
【问题讨论】:
-
这可能是一个简单的并发问题,电子邮件周围的
lock(object){}.Send(与标志一起)会做吗?你在用System.Net.Mail吗? -
请您为我们复制/粘贴发送电子邮件代码
-
如果您使用三台服务器对您的站点进行负载平衡,它们仍然必须进行通信以避免出现问题中的这种情况。这听起来更像是设计问题而不是代码问题。
-
谁对邮件进行排队,邮件是如何发送的(从队列中消耗)?似乎它可能是以下两种情况之一:3 封电子邮件正在排队,或者同一队列中有 3 个消费者没有锁定。
-
您只使用一个数据库吗?如果读取时锁定行,发送完成时设置一个标志,释放行。
标签: c# asp.net email iis web-config