我有一个连接到Outlook的ac#表单应用程序。
该程序处理传入的邮件,并且应该在白天稳定运行。问题在于,在没有明显原因的情况下,该程序在查看数小时后变得无响应。
我正在尝试记录异常,但是它在生产环境中变得无响应。任何想法如何解决这个问题?
该程序具有一些类变量:
Outlook.Application olApp;
Outlook.NameSpace olSession;
Outlook.MAPIFolder olInbox;
Outlook.Items olInboxItems
我连接Outlook:
private void InitOutlook()
{
if (olApp == null)
olApp = new Outlook.Application();
olSession = olApp.GetNamespace("MAPI");
olInbox = olSession.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox);
olInboxItems = olPlanonIn.Items;
olInboxItems.ItemAdd += new Outlook.ItemsEvents_ItemAddEventHandler(InboxItemAdded);
}
用于处理邮件的事件处理程序
private void InboxInItemAdded(object itm)
{
// process my mail
}
在Interop-PowerPoint方案中,我遇到了类似的问题。我从未找到确切的原因,但可能的猜疑是打开的COM对象的数量。您是否正确释放了所有对象?
请查看此线程以了解详细信息:如何正确清理Excel互操作对象?
作为最后的选择,您可以实现一个观察者线程,该线程重新启动您的进程。不太好,但是可以“解决”问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句