2014-10-15 18 views
13

için istek değeri ayarı C# SSL3 veya TLS için statik bir değer ayarlayabiliyorum, ör.ServicePointManager.SecurityProtocol

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls; 

Veya:

ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3; 

Ama bu benim uygulamadaki tüm geleceği HttpWebRequest nesneleri etkileyecektir (sanırım).

Belirli bir HttpWebRequest için veya en azından belirli bir URI için bunu ayarlamanın bir yolu var mı? Bu gördük

Not:

Uri uri = new Uri(url); 
ServicePoint sp = ServicePointManager.FindServicePoint(uri); 

Ama ServicePoint bir SecurityProtocol özelliği yoktur.

Şu anda yeni bir HttpWebRequest oluşturmadan önce statik global özelliğini ayarlamak zorunda olduğumu düşünüyorum.

Bu doğru gelmiyor ve aynı zamanda şu anlama gelir: Eminim birden parçacığı aynı zamanda bu yapmıyorlar yapmak zorunda

  • .
  • Bu ayarın hangi amaçla kullanıldığı konusunda emin değilim (yani, ServicePointManager.SecurityProtocol öğesine erişip bu URI'ye bağlandığım webRequest.GetResponse() öğesini çağırdığımda mı?).

cevap

2

bu burada ele edilmiştir Gerçekleşen: Burada

How to use SSL3 instead of TLS in a particular HttpWebRequest?

Ve:

Set the SecurityProtocol (Ssl3 or TLS) on the .net HttpWebRequest per request

korkularımı onaylanıyor. Bazı kullanıcılar bu konuda çalışmak için ayrı bir uygulama alanı oluşturuyor gibi görünüyor. Ayarın belirli bir web isteği nesnesine hangi noktada bağlandığı iyi tanımlanmışsa, bazı iplik kilitlemelerinin mümkün olabileceğini düşünüyorum.