本主题提供有关开发使用 .NET 编码和构建的应用程序时的指南。
.NET Framework 应用程序
如果在开发应用程序时使用 .NET Framework,则可以使用 Xrm.Tooling 命名空间中的类轻松进行身份验证并连接到 Microsoft Dataverse Web 服务。
Xrm.Tooling SDK 程序集中的类使用 IOrganizationService 接口方法。 这是插件和工作流活动使用的相同编程样式,因此它成为了一种在所有 .NET Framework 应用程序中都可使用的编程样式。 建议将 Microsoft.Xrm.Tooling.Connector.CrmServiceClient 类用于 Web 服务连接。
这些 Xrm.Tooling 类提供了许多好处,包括:
- 可以使用连接字符串定义连接信息。
- 支持 OAuth 和 Microsoft 365 基于声明的身份验证。
- 在多线程环境中执行操作的线程安全性。
- 提供常见的 Windows Presentation Foundation (WPF) 登录控件,以便从 Windows 客户端应用程序获得一致的登录体验。
- 支持安全存储登录凭据,并重复使用存储的凭据,以便在初始登录后自动登录。
- 针对所执行操作的内置诊断跟踪和性能报告,可根据您组织的需求进行配置。
- 支持 X.509 证书身份验证。
这些 Xrm.Tooling 类经过优化以使用 IOrganizationService 接口方法。
如果要使用 Web API,可以使用 Microsoft.Xrm.Tooling.Connector.CrmServiceClient.ExecuteCrmWebRequest 方法来撰写请求,只要使用 OAuth,就能享受 Web API 和 Xrm.Tooling 类提供的所有其他优势。
详细信息: 使用 XRM 工具构建 Windows 客户端应用程序
.NET Framework 版本
创建客户端应用程序时,请使用 .NET Framework 4.6.2 或更高版本。 只有使用传输级别安全性 (TLS) 1.2 或更好的安全性的应用程序才能连接。 TLS 1.2 不是 .NET Framework 4.5.2 使用的默认协议,但它位于 .NET Framework 4.6.2 或更高版本中。
不使用 SDK 程序集的 .NET Framework 应用程序
如果不想依赖于任何 SDK 程序集,还可以使用 在 Microsoft Dataverse 中使用 OAuth 中所述的模式,而无需依赖任何 SDK 程序集。 如果没有 SDK 程序集,则只能使用 OData Restful Web 服务(Web API 和 OData 全局发现服务)。 Web API 数据作示例(C#)演示了此方法。
.NET Core 和 .NET 6 应用程序
Microsoft.CrmSdk.XrmTooling.CoreAssembly 和其他“crmsdk”拥有的 NuGet 包中提供的 SDK API 不支持 .NET Core 代码开发。
在 .NET Core 应用程序开发中,有一个 DataverseServiceClient 类,它是仿照之前提到的 CrmServiceClient 类设计的。 可以从 Nuget.org 下载 Microsoft.PowerPlatform.Dataverse.Client 包,开始在应用程序中使用此新的服务客户端类。 将为DataverseServiceClient及相关类提供文档和示例代码,这些将在未来的文档发布中可用。
要更新使用 CrmServiceClient 的基于 .NET Framework 的现有应用程序代码,首先在代码中替换 CrmServiceClient 的 DataverseServiceClient 类。 需要设置项目类型以生成 .NET Core 应用程序,删除任何特定于 .NET Framework 的引用和 NuGet 包,然后将 Microsoft.PowerPlatform.Dataverse.Client 包添加到项目中。