2017-01-31 6 views
4

Я обновляю протоколы безопасности к существующему фреймворку 3.5 .net для бесперебойной работы платежных шлюзов. Я добавил следующий кодSecurityProtocolTypeExtensions.Tls12; не существует в текущем контексте

System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolTypeExtensions.Tls12; 

в моем Global.asax в Application_Start, но это дает мне компиляции ошибки времени, что

Название «SecurityProtocolTypeExtensions» не существует в текущем контексте

Я был следующим за этим S upport for TLS System Default Versions included in the .NET Framework 3.5.1 on Windows 7 SP1 and Server 2008 R2 SP1 от Microsoft.

Update 1:

также попытался как сказано в ссылке выше, добавил оба файла в проекте, теперь я получаю исключение «System.NotSupportedException: Запрашиваемый протокол безопасности не поддерживается»

Обновлено 2:

Пробовал, как предложил Джон Дэвис, но все же не повезло. Исключение же System.NotSupportedException

ответ

5

Исправление говорится в статье вы связаны с:

Чтобы включить поддержку TLS v1.2, включают исходные файлы в проекте ...

Другими словами - вам нужно добавить типы SecurityProtocolTypeExtensions и SslProtocolExtensions из статьи в свой собственный проект.

Это немного уродливый взлом, но это необходимо, потому что TLS 1.2 был выпущен после .NET 3.5.

В качестве альтернативы, если вы хотите, чтобы избежать использования этих расширений и не против немаркированных магических чисел в коде, вы можете игнорировать этот код в статье и просто установить вместо этого:

System.Net.ServicePointManager.SecurityProtocol = (SecurityProtocolType)0x00000C00; 
+0

От того, где я должен получить эти исходные файлы, – user6594294

+0

Скопируйте определения из раздела ** Руководство разработчика ** в статье. –

+0

и где я должен сохранить этот код, потому что он выглядит так, что он внутри пространства имен System.Net, который является .net core class – user6594294

Смежные вопросы