COMException:客户端操作失败
本文关键字:失败 操作 客户端 COMException | 更新日期: 2023-09-27 18:05:58
在我的应用程序中,我存储了不同的文件夹entryid(电子邮件,联系人…),以便在稍后选择它们。问题是,有时我得到一个COMException:
客户端操作失败。(在Microsoft.Office.Interop.Outlook.NameSpaceClass.GetFolderFromID(字符串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抛出了许多与日历同步的错误,但我没有处理它们。我无法在使用用户邮箱的测试虚拟机上重现错误。我试着用办公室的内部工具修复(它发现了错误),但这也没有修复任何东西。
如果您在网络环境中工作,则会出现错误。这是不可避免的。你的代码必须准备好处理这样的错误