Неверное значение свойства ServicePointManager.SecurityProtocol.C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Неверное значение свойства ServicePointManager.SecurityProtocol.

Сообщение Anonymous »

1. Вопрос в самом начале
Как обеспечить, чтобы исходное значение по умолчанию свойства SecurityProtocol класса ServicePointManager из класса System. Сетевое пространство имен — SecurityProtocolType.SystemDefault в решении, условия конфигурации которого описаны ниже в этом вопросе?
2. Текущее состояние
Текущее начальное значение по умолчанию свойства SecurityProtocol:

Код: Выделить всё

ServicePointManager.SecurityProtocol == Ssl3 | Tls
3. Желаемое состояние
Первоначальное значение по умолчанию свойства SecurityProtocol должно быть:

Код: Выделить всё

ServicePointManager.SecurityProtocol == System.Default
4. Конфигурация решения
Конфигурация решения следующая:
  • (A) Исполняемый EXE-файл проект: собственное приложение C++ без поддержки CLR (поддержка Common Language Runtime: нет поддержки Common Language Runtime)
  • (B) Проект DLL: библиотека C++/CLI с поддержкой для управляемого кода (поддержка общеязыковой среды выполнения: .NET Framework Runtime Support /clr), предназначенной для целевой версии .NET Framework: v4.8.
5 . Исследовательская работа
5.1
Инициализация значения свойства SecurityProtocol, вероятно, как-то связана с AppDomain.CurrentDomain. Значение SetupInformation.TargetFrameworkName.
Значение TargetFrameworkName равно null, хотя сборка (B) имеет TargetFrameworkAttribute указано значение v4.8. Домен приложения внутренне инициализируется в соответствии с результатом метода Assembly.GetEntryAssembly, который в данном случае возвращает значение null для изображения (A) (изображение не является управляемой сборкой).
5.2
Кроме того, если я явно изменю значение свойства SecurityProtocol на SecurityProtocolType.SystemDefault:

Код: Выделить всё

ServicePointManager.SecurityProtocol = SecurityProtocolType.SystemDefault;
при попытке связи возникает исключение (например, HttpWebRequest.GetResponse):

WebException Статус: ReceiveFailure (Базовое соединение
закрыто: при получении произошла непредвиденная ошибка)
-> ArgumentException ( Указанное значение недопустимо в перечислении «SslProtocolType» Имя параметра> sslProtocolType)


Подробнее здесь: https://stackoverflow.com/questions/786 ... l-property
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»