在“我的应用程序”中,我存储不同的文件夹-- EntryIDs (电子邮件、联系人.)以便在以后的时间里选择它们。问题是,有时我会得到一个COMException:
客户端操作失败。(在Microsoft.Office.Interop.Outlook.NameSpaceClass.GetFolderFromID(String EntryIDFolder,Object EntryIDStore)
更新:我在同一操作中得到了另一条错误消息(不修改代码)
消息传递接口返回了一个未知错误。如果问题仍然存在,请重新启动Outlook
我的代码看起来是:
outlookApp.Session.GetFolderFromID(searchFolder);OutlookApp的定义和声明方式如下:
private ApplicationClass outlookApp;
try
{
outlookApp = new Microsoft.Office.Interop.Outlook.ApplicationClass();
}
catch (System.Exception)
{
try
{
outlookApp = Activator.CreateInstance(Type.GetTypeFromProgID("Outlook.Application")) as Microsoft.Office.Interop.Outlook.ApplicationClass;
}
catch (System.Exception)
{
outlookApp = System.Runtime.InteropServices.Marshal.GetActiveObject("Outlook.Application") as Microsoft.Office.Interop.Outlook.ApplicationClass;
}
}我的建议是,这是某种程度上连接到共享文件夹,但我不能重现错误的基础上定期。Outlook处于缓存模式。Exchange在日历中抛出了很多同步错误,但我没有处理它们。我不能用用户邮箱在测试vm上再现错误。我试着用office的内部工具进行修复(它发现了错误),但这也没有修复任何问题。
发布于 2013-03-28 16:39:54
如果您是在网络环境中工作,则会出现错误。这是不可避免的。您的代码必须准备好处理这样的错误。
https://stackoverflow.com/questions/15653772
复制相似问题