我有一个c#表单应用程序女巫我连接到Outlook。
该程序处理传入的邮件,并应在白天稳定运行。问题在于,该程序在观看小时后没有明显的原因变得无反应。
我正在尝试记录异常,但是在生产环境中它没有反应。任何想法如何解决此问题?
该程序具有一些类变量:
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);
}
用于处理邮件的EventHandler
private void InboxInItemAdded(object itm)
{
// process my mail
}
我在Interoppoint方案中也有类似的问题。我从来没有找到确切的原因,但可能是开放式com-objects的数量。您是否正确释放了所有对象?
请查看此线程以获取详细信息:如何正确清理Excel Interop对象?
作为最后的度假胜地,您可以实现重新启动过程的观察者线程。不好,但是它可能会"解决"问题。