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

时间:2010-12-17 15:07:59

标签: c# .net outlook mapi comexception

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

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

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

有人知道问题是什么吗?

任何帮助将不胜感激。谢谢!

3 个答案:

答案 0 :(得分:10)

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

// MessageId: RPC_S_CALL_FAILED
//
// MessageText:
//
// The remote procedure call failed.
//
#define RPC_S_CALL_FAILED                1726L

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

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

答案 1 :(得分:0)

我不知道这是答案,但这可能会让你朝着正确的方向前进:

http://support.microsoft.com/kb/329080

答案 2 :(得分:0)

将网络服务(或apppool的标识)的完全访问权限设置为文件夹C:\ Windows \ System32 \ config \ systemprofile \ AppData

问候! 来自阿根廷的加布里埃尔