浏览Outlook公用文件夹会导致Exchange服务器错误
问题描述:
我使用VSTO开发了一个Outlook加载项,根据发件人地址将电子邮件复制到公共文件夹。
我使用以下类型的代码浏览数百个公用文件夹,但如果因为我们将Exchange服务器从2000升级到2003而失败:
RootPublicFolders = MyOutlook.GetNamespace(" MAPI" ).GetDefaultFolder(Outlook.OlDefaultFolders.olPublicFoldersAllPublicFolders);
foreach(RootPublicFolders.Folders中的Outlook.MAPIFolder OneFolder)
{
//在这里做点什么
自Exchange 2003以来,公共文件夹很快变得无法访问,并且EventID 9646被登录到服务器上:"Mapi会话超过了最多500个类型为"objtFolder"的对象。 br>
这肯定意味着由于托管代码,文件夹对象仍然存在。
我是.NET的新手但是被迫使用它作为VSTO只能作为VSTO使用C#和VB.Net解决方案。
有人能告诉我如何正确关闭我循环中打开的所有文件夹对象吗?
感谢,
Olivier
答
在关闭循环之前尝试设置为OneFolder = null。
Try setting to OneFolder = null before closing the loop.