防止后台线程“超时已过期”。错误

时间:2011-05-31 16:29:45

标签: vb.net timeout asp.net-3.5 background-thread

我在页面上的Click事件中有以下部分代码:

Dim ts As New ThreadStart(AddressOf SendEmails)
Dim t As New Thread(ts)
t.IsBackground = True
t.Start()

这会触发发送1000份简报电子邮件的SendEmails方法。

然而,似乎这是暂时的,因为我已经能够记录以下错误:

超时已过期。操作完成之前经过的超时时间或服务器没有响应。

如何增加超时金额,以便有时间发送1000封电子邮件?

1 个答案:

答案 0 :(得分:1)

在“SendEmails”功能中显示一些代码会很有帮助。超时可能发生在SMTP级别...查看错误消息,也可能是服务器已关闭SMTP连接。了解您要连接的电子邮件服务器也会有所帮助。如果它是一个Exchange Server,管理员可能对SMTP连接器有一些限制,即如何通过一个连接发送musch电子邮件,这可能是什么问题。你能发送大约10或50封电子邮件......或者任何电子邮件吗?

另一方面 - 尝试使用BackgroundWorker