将请求以下帮助。提前致谢。
我正在尝试在 vb.Net 中使用 MailKit Imap 客户端制作邮件客户端。Mailkit Imap 客户端处于空闲模式,当有新邮件到达时,它会引发一个位于其自己线程中的事件。
现在,当我想将这些电子邮件存储在数据库中时,我想不在那个线程中而是在我父类的线程中进行处理。我该如何做到这一点?我知道 InvokeRequired 和 Invoke 可以在表单控件上完成,但这不是表单,而是一个类。
例如:代码是:
我的 ImapMonitor 类有这样一个事件:
Class ImapMonitor
Private Sub rFolder_MessageArrived(sender as object, e as MailkitMessagesArrivedEventArgs) handles rfolder.MessagesArrived
RaiseEvent NewMessages(param1,param2)
End Sub
End Class
Class MailChecker
'My Main class which creates an object of ImapMonitor class goes :
Dim withevents iMonitor as ImapMonitor
Private Sub iMonitor_NewMessages(param1,param2) handles ImapMonitor.NewMessages 'this event is not in MailCheckers thread
'Retrieve the messages and store them in DB
End Sub
End Class