获取contact.LastName时System.Runtime.InteropServices.COMException(0x800706BE)

And*_*rei 3 .net c# mapi outlook comexception

我们的一些用户有时会遇到此异常(不是针对每个联系人):

System.Runtime.InteropServices.COMException (0x800706BE): 
   The remote procedure call failed. (Exception from HRESULT: 0x800706BE)
   at Microsoft.Office.Interop.Outlook._ContactItem.get_LastName()
Run Code Online (Sandbox Code Playgroud)

当我们尝试获取联系人的姓氏(ContactItem类型)时会发生这种情况.

有谁知道问题是什么?

任何帮助,将不胜感激.谢谢!

Han*_*ant 9

这是一个Windows错误,设施代码7.最后一个单词给出了Windows错误,0x6be == 1726:

// MessageId: RPC_S_CALL_FAILED
//
// MessageText:
//
// The remote procedure call failed.
//
#define RPC_S_CALL_FAILED                1726L
Run Code Online (Sandbox Code Playgroud)

与Outlook等Office程序的互操作通过进程外COM进行.RPC是低级远程过程调用机制.这种远程调用失败有几个原因.错误代码和错误名称都很好.

最简单的解释就是Outlook倒闭了.那个会发生.进程间互操作的优点是当主机程序崩溃时,它也会取出你的代码.不是在进程外的情况下,您只是难以诊断错误.请您的客户的IT人员使用他们典型的Office故障排除策略.