【发布时间】:2011-03-01 02:15:45
【问题描述】:
我们正在编写一个使用 topshelf / windsor / masstransit 的线程服务来从 MSMQ 中提取消息,然后发送一封带有 PDF 附件的电子邮件。
SmtpClient.Send() 方法时不时会抛出此错误消息:
异步调用已在进行中。必须先完成或取消才能调用此方法。
我在 Windsor 中将 SmtpClient 设置为 .LifeStyle.Transient,所以我的理解是每个线程都应该有自己的实例?
知道我可以如何解决这个问题,而不是锁定那部分代码。这会破坏线程的目的。
提前致谢
【问题讨论】:
标签: c# multithreading castle-windsor smtpclient