由于某种原因,我在保持事件句柄处于活动状态时遇到了一些麻烦。
我的项目是一个outlook插件,提示用户在发送电子邮件时执行某些操作。现在,我有一个事件处理程序连接到已发送邮件文件夹,以便当发送的电子邮件到达该文件夹时,它会触发提示。我将它附加到已发送项目文件夹的原因是我可以在发送后处理该电子邮件。
最初所有工作都很好,然后我把它放到客户端机器上,事件根本不想发射。这是我在onSend事件中附加另一个事件(最初是为了计算发生的事情)。这样做的是调用一个singleton类,它将我需要的句柄附加到Sent Items文件夹,这样句柄就不会多次重新创建。 (我确实没有单例类,而是在最初连接句柄时有一个全局标志来切换,但这没有什么不同)
我希望这一切都有意义!
现在发生的事情虽然在某些情况下,前几封电子邮件会响应它们的预期;即发送后的提示。在此之后,它停止提示,我无法弄清楚原因。
我希望有一种方法可以检查事件句柄是否直接存在。我唯一的另一个想法是,我设置的手柄可能会以某种方式清理干净吗?
如果有人有任何建议可以帮我弄清楚发生了什么,我会非常感激。
答案 0 :(得分:3)
经典垃圾收集错误,尝试将代码中的引用保留到文件夹中。
答案 1 :(得分:2)
正在收集车库。如果您发布了一些代码,我可能会提供帮助。