选择 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 进行开发时应选择哪个开发样式:
.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 服务并向该服务进行身份验证的应用程序。 |
.NET:XRM 工具程序集 |
使用连接字符串、CrmServiceClient 类或 XRM 工具 Powershell cmdlet 连接到 Dynamics 365。 详细信息:使用 XRM 工具中的连接字符串连接至 Dynamics 365,使用 CrmServiceClient 构造函数连接到 Dynamics 365,使用 XRM PowerShell cmdlets 工具连接到 Dynamics 365 |
Dynamics 365 Web API |
有关连接到 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。 保留所有权利。 版权