Microsoft Dynamics CRM Outlook 客户端在非管理员模式下可能无响应

本文可帮助你解决尝试打开适用于 Outlook Microsoft Dynamics CRM Client 或尝试使用脱机访问的 Microsoft Dynamics CRM 客户端中的脱机同步过程时所发生的问题。

适用于:Microsoft Dynamics CRM 2013 Service Pack 1、Microsoft Dynamics CRM 2015、Microsoft Microsoft 办公室 Outlook 的 CRM 客户端
原始 KB 数: 3106337

现象

尝试打开 Microsoft Dynamics CRM Client for Outlook 或尝试使用脱机访问的 Microsoft Dynamics CRM 客户端中的脱机同步过程时,可能会遇到如下错误:

Outlook 变得无响应(闪烁),你必须终止该过程

Outlook 将显示错误:没有终结点正在侦听 net.pipe://localhost/WebFormService/{random-guid-number} 该消息。 这通常由错误地址或 SOAP 操作导致。 有关更多详细信息,请参阅 InnerException(如果存在)。

原因

Outlook 的 CRM 客户端利用 Windows Communication Foundation (WCF) 与进程外服务进行通信,以便与 CRM 服务器进行交互。 使用的 WCF 绑定是 net.pipe,具有特定命名基础命名管道的方式。 从 WCF 4.0 开始,命名和注册 net.pipe 终结点的 URI 的过程是分层的,分为两个级别:非管理模式和管理模式。 如果进程注册 URI net.pipe://localhost,则所有非管理进程将无法使用 net.pipe 绑定访问任何其他服务,包括 CRM 本地 Web 表单服务签名。

解决方法

没有解决方案,因为这是设计。 WCF 服务不应在 . net.pipe://localhost/. 但是,如果情况正确,有两种解决方法。

若要了解哪个进程在侦听程序所在的位置 net.pipe://localhost/,请执行以下步骤:

  • 加载 Sysinternals 工具句柄(句柄 v4.22

  • 将Handle.zip解压缩到文件夹中(例如: c:\sysinternals

  • 以管理员身份打开cmd.exe

  • 移动到解压缩Handle.exe的文件夹(例如 cd c:\sysinternals

  • 运行以下命令:

    handle "net.pipe:EbmV0LnBpcGU6Ly8rLw=="
    
  • 如果有匹配项,它将告知可执行文件名称和 PID,如以下示例输出所示:

    StandAloneService.exe pid: 10724 type: Section 318: \BaseNamedObjects\net.pipe:EbmV0LnBpcGU6Ly8rLw==
    

解决方法

  • 解决方法 1

    查找侦听 net.pipe://localhost 前面指定的文件(或服务),并在运行 Outlook 时将其停止。

  • 解决方法 2 (不建议)

    如果使用本地管理员权限启动 Microsoft Dynamics CRM Clients for Outlook(右键单击 Outlook 并选择“ 以管理员身份运行”),则 Microsoft适用于 Outlook 的 Dynamics CRM 客户端将按设计方式工作,并且你可以使用脱机同步过程,且不会出错。