使用 .Net 4.5.2 从 Dynamics Customer Engagement 检索数据
Retrieve data from Dynamics Customer Engagement using .Net 4.5.2
我们需要从 c#
.Net framework 4.5.2
中开发的应用程序中检索来自 Dynamics Customer Engagement 的数据。我们知道对于 v9.0 的 dynamics web API .Net framework 4.6.2
或更高版本是必需的。我们需要知道的是,是否有任何方法可以使用我们的应用程序要求(可能使用另一个 API 版本)从 Dynamics Customer Engagement 查询数据,因为由于其他原因我们无法更改我们的 .Net
版本。我们也很感谢帮助找到一些文档。
我们尝试使用 HttpClient
进行 API 调用。问题出在使用 Microsoft.IdentityModel.Clients.ActiveDirectory
.
的身份验证步骤中
最有可能的原因是您使用的 TLS 版本。 Dynamics 365 需要 TLS 1.2。
.Net Framework 通过以下方式支持 TLS
.Net Framework 4.0
只支持TLS 1.0
.Net Framework 4.5
支持 TLS 1.2
,但只能通过显式设置 TLS 版本。 (参见下面的代码示例)
.Net Framework 4.6
及更高版本原生支持 TLS 1.2
.
如果您被迫使用 .Net Framework 4.5
,请在发出任何 HTTP 请求之前添加以下代码行。
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
如果无法更改代码,则另一种方法是使用 PowerShell 脚本更新您的注册表项。这必须在每个 运行 应用程序的设备上完成。 (但是 Azure 可能会带来问题)。
64位
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Wow6432Node\Microsoft\.NetFramework\v4.0.30319' -Name 'SchUseStrongCrypto' -Value '1' -Type DWord
32位
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\.NetFramework\v4.0.30319' -Name 'SchUseStrongCrypto' -Value '1' -Type DWord
第一个选项是迄今为止最简单的方法。
我们需要从 c#
.Net framework 4.5.2
中开发的应用程序中检索来自 Dynamics Customer Engagement 的数据。我们知道对于 v9.0 的 dynamics web API .Net framework 4.6.2
或更高版本是必需的。我们需要知道的是,是否有任何方法可以使用我们的应用程序要求(可能使用另一个 API 版本)从 Dynamics Customer Engagement 查询数据,因为由于其他原因我们无法更改我们的 .Net
版本。我们也很感谢帮助找到一些文档。
我们尝试使用 HttpClient
进行 API 调用。问题出在使用 Microsoft.IdentityModel.Clients.ActiveDirectory
.
最有可能的原因是您使用的 TLS 版本。 Dynamics 365 需要 TLS 1.2。
.Net Framework 通过以下方式支持 TLS
.Net Framework 4.0
只支持TLS 1.0
.Net Framework 4.5
支持TLS 1.2
,但只能通过显式设置 TLS 版本。 (参见下面的代码示例).Net Framework 4.6
及更高版本原生支持TLS 1.2
.
如果您被迫使用 .Net Framework 4.5
,请在发出任何 HTTP 请求之前添加以下代码行。
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
如果无法更改代码,则另一种方法是使用 PowerShell 脚本更新您的注册表项。这必须在每个 运行 应用程序的设备上完成。 (但是 Azure 可能会带来问题)。
64位
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Wow6432Node\Microsoft\.NetFramework\v4.0.30319' -Name 'SchUseStrongCrypto' -Value '1' -Type DWord
32位
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\.NetFramework\v4.0.30319' -Name 'SchUseStrongCrypto' -Value '1' -Type DWord
第一个选项是迄今为止最简单的方法。