Произошла ошибка при выполнении HTTP-запроса к https

#.net #asmx

#.net #asmx

Вопрос:

У меня есть веб-служба asmx.Net framework 4.6, который использует веб-службу https. Вот приведенный ниже код, который у меня есть перед вызовом службы:

System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12 | SecurityProtocolType.Ssl3;

Он отлично работает в режиме отладки. Я могу просматривать ожидаемые данные, но при запуске приложения в режиме выпуска или без отладки в vs2017 я получаю следующую ошибку:

 Web ServiceSystem.ServiceModel.CommunicationException:  
An error occurred while making the HTTP request to https://externalwebservice address. 
This could be due to the fact that the server certificate is not configured properly 
with HTTP.SYS in the HTTPS case. This could also be caused by a mismatch of the 
security binding between the client and the server. 
---> System.Net.WebException: The underlying connection was closed: 
An unexpected error occurred on a send. 
---> System.IO.IOException: Unable to read data from the transport connection:   
An existing connection was forcibly closed by the remote host. 
---> System.Net.Sockets.SocketException: An existing connection was forcibly closed  
by the remote host.
 

Я получил самозаверяющий сертификат, установленный в IIS.

Я действительно смущен тем, что он работает в режиме отладки, но не в выпуске. Пожалуйста, помогите.

Комментарии:

1. Ssl3 Убирайтесь оттуда. Он устарел и опасен. И в этом отношении базовые Tls и и Tls11 также не должны больше использоваться. Теперь вам нужен 1.2 или 1.3. Это может даже решить проблему, поскольку предложение этих старых небезопасных протоколов в сочетании с другими тактиками, которые в конечном итоге приведут к понижению рейтинга, является одной из тактик, используемых хакерами, и некоторые серверы сразу же откажутся, если вы даже сделаете ее доступной.

2. Спасибо за объяснение. Я внес изменения, которые все еще не работают.