如何:通过编写 .NET 连接程序集创建外部内容类型

上次修改时间: 2010年4月16日

适用范围: SharePoint Server 2010

本文内容
如何创建 .NET 连接程序集
如何使用 SharePoint Designer 2010 扩展在 Visual Studio 2010 中创建的外部内容类型
如何使用 SharePoint Designer 2010 创建基于 .NET 连接程序集的外部内容类型

如果 Microsoft Business Connectivity Services (BCS) 不直接支持外部系统,则可通过编写 Microsoft .NET Framework 代码来创建外部系统的接口。如果实体模型是静态的并具有一小组已知类型,则可编写 Windows Communication Foundation (WCF) 服务、Web 服务或 .NET 连接程序集以便与外部数据源进行交互。如果决定为外部系统编写 WCF 服务或 Web 服务,Business Connectivity Services 将不会承载 WCF 服务或 Web 服务。您必须承载该服务。可以使用 Microsoft Visual Studio 2010 创建带后端逻辑的 .NET 连接程序集并将该程序集(与它依赖的任何其他程序集一起)发布到 BDC 元数据存储区,而不是编写 Web 服务或 WCF 服务。Business Connectivity Services 将使用 .NET 程序集连接器承载 .NET 连接程序集。

备注

但是,如果实体模型是具有自定义类型的大型动态模型,则可为该数据源类型创建自定义连接器。有关详细信息,请参阅使用 .NET 程序集连接器与编写自定义连接器之间的差异

.NET 连接程序集代码应公开 Business Connectivity Services 理解的构造型操作。有关构造型的详细信息,请参阅BDC 支持的构造型操作

编写 .NET 连接程序集涉及以下任务:

  1. 将代码编写为 Microsoft .NET Framework 类,并将这些类编译到一个主 DLL 和多个依赖 DLL 中。

  2. 使用解决方案包 (WSP) 部署或使用 SharePoint 2010 提供的 Windows PowerShell cmdlet 将 DLL 发布到 Business Data Connectivity (BDC) Service 数据库。

  3. 使用 Microsoft SharePoint Designer 发现 DLL 并创建模型。

  4. 在 DLL 中将每个实体映射到一个"Class",并将此实体中的每个 BDC 操作映射到该"Class"内部的一个方法。

  5. 在运行时,当用户执行 BDC 操作时,将在主 DLL 或依赖 DLL 中执行相应的方法。

如何创建 .NET 连接程序集

若要了解如何使用 Visual Studio 2010 创建 .NET 连接程序集,请参阅:

如何使用 SharePoint Designer 2010 扩展在 Visual Studio 2010 中创建的外部内容类型

可在 SharePoint Designer 2010 中编辑通过使用 Visual Studio 2010 创建和部署的外部内容类型。一般来说,若要将 Microsoft Office 客户端功能附加到外部内容类型(如将外部内容类型映射到 Microsoft Outlook 项目类型并启用脱机),则必须执行此操作。为此,请执行下列步骤:

  1. 在 SharePoint Designer 中,打开包含外部内容类型的 SharePoint 网站。

  2. 单击"外部内容类型",然后单击使用 Visual Studio 创建的外部内容类型。

  3. 在"Office 项目类型"字段中,选择此外部内容类型映射到的相应 Outlook 项目类型。

  4. 在"脱机同步外部列表"字段中,选择"已启用"。

  5. 单击功能区上的"操作设计视图"按钮以编辑 Read Item 操作。将 Read Item 操作的返回参数映射到相应的 Outlook 属性。

  6. 单击"保存"以将这些更改保存到 BDC 元数据存储中。此时,您已扩展通过将 Visual Studio 2010 与客户端和脱机功能一起使用来创建的外部内容类型。

如何使用 SharePoint Designer 2010 创建基于 .NET 连接程序集的外部内容类型

可能存在这样的情况,即,您具有的 .NET 程序集包含返回 BDC 所需的适当形状中的外部数据的方法。在此情况下,可将程序集部署到 BDC 元数据存储,然后使用 SharePoint Designer 2010 中的外部内容类型设计器创建连接到 .NET 程序集的外部内容类型。创建连接到 .NET 程序集的外部内容类型的过程与创建连接到 Web 服务或 WCF 服务的外部内容类型的过程类似。

  1. 打开 SharePoint Designer,并按照如何:基于 Web 服务创建外部内容类型中所述的步骤执行操作以创建外部内容类型。除了"添加与外部系统的连接"这一过程之外,所有其他过程完全相同。若要添加与 .NET 程序集的连接,请执行下列步骤。

  2. 选择已连接系统旁边的"单击此处以发现外部数据源并定义操作"。

  3. 在"添加连接"对话框中,单击".NET 类型"。

  4. 在".NET 类型选择"对话框中,单击"浏览"按钮以指定 BDC 元数据存储区中包含对要连接到的 .NET 程序集的引用的外部系统 (LOBSystem)。选择该系统并单击"确定"。

  5. 此时应能看到程序集中定义的所有公共 .NET 类型及其包含的方法。像定义 Web 服务一样定义操作,如如何:基于 Web 服务创建外部内容类型中所述。

  6. 单击"保存"以将这些更改保存到 BDC 元数据存储中。现在您已创建连接到 .NET 程序集的外部内容类型。

请参阅

任务

代码示例:AdventureWorks2008 .NET 程序集