Извлекайте данные из Dynamics Customer Engagement, используя .Net 4.5.2 - PullRequest
0 голосов
/ 24 сентября 2019

Нам нужно извлечь данные из Dynamics Customer Engagement из приложения, разработанного в c# .Net framework 4.5.2.Мы знаем, что для динамического v9.0 необходим веб-API .Net framework 4.6.2 или выше.Нам нужно знать, есть ли способ запросить данные из динамического взаимодействия с клиентами, используя наши требования к приложениям (возможно, с использованием другой версии API), потому что мы не можем изменить нашу версию .Net по другим причинам.Мы также признательны за помощь в поиске документации для этого.

Мы пытаемся использовать HttpClient для выполнения вызовов API.Проблема в шаге аутентификации с использованием Microsoft.IdentityModel.Clients.ActiveDirectory.

1 Ответ

0 голосов
/ 24 сентября 2019

Наиболее вероятная причина - версия TLS, которую вы используете.TLS 1.2 требуется для Dynamics 365.

. TLS поддерживается .Net Framework следующими способами

  • .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

Первый вариант, безусловно, самый простой подход.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...