У нас есть некоторые тесты на ручную интеграцию, которые попадают в конечную точку Salesforce WebService, для которой требуется TLS 1.1. Мы обновили наши проекты, чтобы использовать .Net 4.6, который разрешает TLS 1.2 по умолчанию.Как мы получим тестовый RunShell 9.2 для целевой версии .Net 4.6, поэтому он поддерживает TLS 1.2 по умолчанию?
Однако, когда мы используем ReSharper 9.2 TestRunner для вызова проверок ручной интеграции (которые используют NUnit 2.6.4), Salesforce бросает и говорит о том, что мы используем TLS 1.0 и что нам нужно использовать TLS 1.1 или выше.
Теперь мы можем использовать ServicePointManager, чтобы заставить TLS 1.2, но мы также пытаемся проверить, что наши .Net 4.6 проекты также разрешают TLS 1.2. Мы также попытались установить targetFramework на .Net 4.6 в JetBrains.ReSharper.TaskRunner.CLR4.x64.exe.config
, но он по-прежнему разрешает TLS 1.0 (так что мы предполагаем, что он нацелен на .Net 4.5 или ниже).
Когда мы запускаем тот же код в контексте веб-сайта или приложения в форме окна, у нас нет проблем, и нам не нужен ServicePointManager, чтобы заставить TLS 1.2. Что нам здесь не хватает? Является ли ReSharper 9.2 неспособным настроить таргетинг .Net 4.6?
Как мы можем заставить ReSharper Test Runner нацелиться на .Net 4.6, поэтому он поддерживает TLS 1.2 по умолчанию?
Salesforce Ошибка: System.Web.Services.Protocols.SoapException: UNSUPPORTED_CLIENT: TLS 1.0 была отключена в этой организации. Пожалуйста, используйте TLS 1.1 или выше при подключении к Salesforce с помощью https.
Принуждение к TLS 1.2 делает работу: ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
когда я подключаюсь к Salesforce, у меня есть эта строка ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls; , так что он поддерживает всю версию tls. – Fran