选择 Dynamics 365 的开发样式

 

发布日期: 2017年1月

适用于: Dynamics 365 (online),Dynamics 365 (on-premises),Dynamics CRM 2016,Dynamics CRM Online

Microsoft Dynamics 365 SDK 提供了当编写代码访问 Microsoft Dynamics 365(在线或本地) Web 服务或扩展应用程序时可以使用的各种方法和技术。 本主题提供根据您的技术区域选择开发样式的指南。

本主题内容

.NET 与非 .NET 开发

.NET 开发:使用 Dynamics 365 SDK 程序集

.NET 开发:使用 XRM 工具程序集

选择如何连接到 Dynamics 365

.NET 与非 .NET 开发

编写代码来扩展 Dynamics 365 时要考虑的第一个问题是您的代码是否是使用 .NET Framework 编写的。

  • 如果您的代码使用 .NET Framework 编写,请根据您的创建考虑使用以下一项:

    • 如果是创建插件、自定义工作流活动或自定义 XAML 工作流,则使用 Dynamics 365 SDK 程序集、详细信息:.NET 开发:使用 Dynamics 365 SDK 程序集

    • 若要为 Dynamics 365 创建 Windows 应用程序,则使用 XRM 工具程序集。详细信息:.NET 开发:使用 XRM 工具程序集

    • 若要为 Dynamics 365 创建非 Windows 应用程序,则使用 Web API。详细信息:使用 Microsoft Dynamics 365 Web API

  • 如果您的代码不是使用 .NET Framework 编写的,则使用 Web API。详细信息:使用 Microsoft Dynamics 365 Web API

以下流程图说明在为 Dynamics 365 进行开发时应选择哪个开发样式:

Dynamics 365 的开发样式流

.NET 开发:使用 Dynamics 365 SDK 程序集

Dynamics 365 SDK 程序集为您提供一些类,它们可用于连接到 Dynamics 365 Web 服务以识别您的组织并执行常见的业务操作,如创建、检索。 在 Dynamics 365 中更新和删除数据。 SDK 程序集可用作 NuGet 包,并可包含在 Dynamics 365 SDK 下载包内。 “详细信息:使用 NuGet 订阅 SDK 程序集更新”和“Microsoft Dynamics 365 SDK 中包含的程序集”。

重要

如果您使用 .NET Framework 4.5.2 或更高版本编写您的代码,您应该使用 Dynamics 365 SDK 程序集的最新版本来创建插件、自定义工作流活动或 XAML 工作流。

但是,如果您使用 .NET Framework 4 并使用 SDK 扩展(已弃用)的 CrmConnection 类来连接到 Dynamics CRM 2016 更新 1(本地)和 CRM Online 2016 更新 1(版本 8.1.0)或更高版本,您需要使用 Dynamics 365 SDK 程序集的版本 6.1.2。 否则,您将无法连接。 有关后向兼容性的更多信息,请参阅博客:Dynamics 365 SDK 向后兼容

在使用 SDK 程序集编写代码时,您使用组织 Web 服务(SOAP 终结点)连接到 Microsoft Dynamics 365 的实例,应执行支持的 Web 服务操作。详细信息:使用 Microsoft Dynamics 365 组织服务

备注

SDK 程序集最终将被迁移,以内部使用 Web API 而不是 2011 SOAP 终结点。 如果发生这种情况,使用 SDK 程序集编写的任何代码都将继续受支持,因为它将从 2011 SOAP 终结点自动转移来使用 Web API。 此更新对您将是完全透明的;其他详细信息将在未来的 SDK 版本中发布。详细信息:Microsoft Dynamics CRM 2011 终结点

  • 创建和部署插件或自定义工作流活动:插件和自定义工作流活动类允许您创建事件处理程序,以便执行您可与 Microsoft Dynamics 365 集成以修改或增加平台的标准行为的自定义业务逻辑。

    如果您从头编写插件和自定义工作流活动,则必须使用插件注册工具注册它们。 该工具提供图形用户界面并且支持向 Microsoft Dynamics 365 注册插件和自定义工作流活动。详细信息:插件开发自定义工作流活动(工作流程序集)

  • 创建和部署自定义 XAML 工作流:Microsoft Dynamics 365 本地和 IFD 支持创建自定义 XAML 工作流的功能。 使用 Microsoft Visual Studio 工作流设计器,可以通过将工具箱中的工作流活动拖动到设计图面上、创建变量以及设置这些活动的属性以实现工作流的功能,来创建自定义 XAML 工作流。 可以使用内置的 Windows Workflow Foundation 活动或特定于 Microsoft Dynamics 365 的流程活动。详细信息:自定义 XAML 工作流

  • Dynamics 365 实体的早期绑定和晚期绑定编程模型:在使用 SDK 程序集时,您可以在两种编程模型中选择:

    早期绑定

    晚期绑定

    使用此代码生成工具 (CrmSvcUtil) 创建从 Entity 类派生的早期绑定实体类,其可用于访问 Microsoft Dynamics 365 中的业务数据。 这些类包括安装中每个实体(包括自定义实体)的一个类。详细信息:在代码中使用早期绑定实体类

    Entity 类包含实体的逻辑名称和实体属性的属性包数组。 这样,您可以使用晚期绑定,以便可以处理那些编译应用程序时未提供的类型(例如自定义实体和自定义属性)。详细信息:在代码中使用晚期绑定实体类

  • 在 Dynamics 365 中查询数据:可以通过三种方法使用 SDK 程序集从 Dynamics 365 中检索或查询数据:FeatchXML、QueryExpression 和 .NET LINQ。详细信息:使用 SDK 程序集通过查询检索数据

.NET 开发:使用 XRM 工具程序集

XRM 工具程序集利用 Dynamics 365 SDK 程序集 API(组织服务和 IDiscoveryService)用更少的代码行通过 Windows PowerShell cmdlets 以提供简单的身份验证支持。 在这些类中的所有函数调用在多线程环境中提供 Dynamics 365 中所执行操作的线程安全性。 XRM 工具提供集成身份验证逻辑的常规登录控件,而安全存储并重新使用身份验证信息的功能则提供从您的 Windows 客户端应用程序登录到 Dynamics 365 的一致且无缝的登录体验。详细信息:使用 XRM 工具,构建 Windows 客户端应用程序

XRM 工具程序集可用作 NuGet 包;该包位于 crmsdk 配置文件下。 使用 "Xrm Tooling" 在列表中选择任意包作为名称以导航到包详细信息页面。 XRM 工具程序集也位于 Dynamics 365 SDK 下载包中。 下载 Microsoft Dynamics CRM SDK 包。

由于连接字符串支持在 XRM 工具中提供,且 Dynamics 365 的 SDK 扩展已弃用,您必须使用 XRM 工具程序集而不是 CrmConnection 类来连接到 Dynamics 365。详细信息:使用 XRM 工具中的连接字符串连接至 Dynamics 365示例:使用 Microsoft Dynamics 365 简化连接快速入门

选择如何连接到 Dynamics 365

根据开发样式(.NET 与非 .NET),选择在 Dynamics 365 中代码如何对用户进行身份验证。 下表提供了根据开发样式您应考虑的身份验证模型的简短信息:

开发样式

说明

.NET:Dynamics 365 SDK 程序集

Microsoft Dynamics 365 SDK 程序集使用 Windows Communication Foundation (WCF) 技术建立与 Microsoft Dynamics 365 Web 服务的通信通道。 Microsoft Dynamics 365 SDK 通过提供帮助程序代理类,简化了 WCF 技术的使用,使用此类可以轻松地编写连接到 Microsoft Dynamics 365 Web 服务并向该服务进行身份验证的应用程序。

详细信息:使用示例和帮助程序代码帮助程序代码:ServerConnection 类

.NET:XRM 工具程序集

使用连接字符串、CrmServiceClient 类或 XRM 工具 Powershell cmdlet 连接到 Dynamics 365。

详细信息:使用 XRM 工具中的连接字符串连接至 Dynamics 365使用 CrmServiceClient 构造函数连接到 Dynamics 365使用 XRM PowerShell cmdlets 工具连接到 Dynamics 365

Dynamics 365 Web API

更多信息:使用 Web API 对 Microsoft Dynamics 365 进行身份验证

有关连接到 Dynamics 365 时用户身份验证的详细信息,请参阅在 Microsoft Dynamics 365 中对用户进行身份验证

另请参阅

在 Microsoft Dynamics 365 中对用户进行身份验证
了解 Microsoft Dynamics 365 开发的教程和资源
在服务器上扩展 Microsoft Dynamics 365
Microsoft Dynamics 365 的编程模型
Microsoft Dynamics 365 的SDK 扩展

Microsoft Dynamics 365

© 2017 Microsoft。 保留所有权利。 版权