C#smtpclient.send开发速度很慢,但生产速度很快

时间:2013-06-24 20:02:00

标签: c# iis exchange-server smtpclient

我们有一些C#代码,当订单发出或更改密码等时会向用户发送电子邮件。此代码在生产服务器上快速运行,但在执行时在本地桌面上运行时速度非常慢发展。生产服务器将在5秒内发送电子邮件,但开发机器需要5分钟。开发机器和生产服务器使用与我们网络本地相同的smtp服务器。 IIS或Exchange中是否存在可能在一个环境中导致此类延迟但在另一个类似环境中没有的延迟?桌面正在运行Windows 7,网络服务器正在运行Windows Webserver 2008,而Exchange服务器正在2010年在Microsoft SBS 2011上运行。

2 个答案:

答案 0 :(得分:3)

您的开发计算机上是否安装了Symantec(或其他防病毒/电子邮件保护)软件?我们遇到了类似的问题,即在发送电子邮件时,SMTP流量被阻止或被杀死。生产服务器通常具有针对此流量内置的异常,因此没有延迟。

答案 1 :(得分:0)

我在通过某个smtp客户端发送电子邮件时遇到过类似的问题。虽然这可能不是您正在查看的确切解决方案,但您可以考虑将sendmail方法分离为“非阻塞任务”(使用TPL)并让底层线程负责此执行。 与此同时,其余代码可以照常执行。 通过这种方式,。即使sendmail需要几秒钟,你的代码的其他部分也不必等待它。