La complettezza delle classi messe a disposizione del .NET Framework hanno abituato ormai lo svilupatore ad ignorare alcuni aspetti di più basso livello come quelli del sistema operativo su cui il codice gira. Tra le classi che si è soliti usare vi sono HttpWebRequest, FtpWebRequest e SmtpClient, e la prima tra queste viene sfruttata da tutte quelle classi che caricano uri, come XmlDocument, XDocument, client di servizi web, perciò è molto importante. Tutte queste classi fanno capo al tipo ServicePointManager del namespace System.Net che fa da tramite con il servizio iNet di Windows, il quale effettua fisicamente le connessioni TCP.
Tramite esso è possibile controllare alcuni aspetti centrali riguardanti le connessioni. Per esempio esiste un limite sul numero massimo di connessioni concorrenti che si possono effettuare il cui valore predefinito è due. Se si supera questo limite, il chiamante resta in attese di ottenere una connessione valida. E' possibile intervenire su questo valore (in ASP.NET è portato a 10) attraverso la proprietà DefaultConnectionLimit.
E' possibile inoltre specificare il tempo massimo di validità di un record Dns, se controllare la revocation list dei certificati o impostare un callback per validare i certificati ogni qual volta che si effettuano connessioni HTTPS:
ServicePointManager.CheckCertificateRevocationList = true;
// Imposto 20 connessioni massime
ServicePointManager.DefaultConnectionLimit = 20;
// Validità timeout: 5 minuti
ServicePointManager.DnsRefreshTimeout = 5*60*1000;
// Callback per restituire la validità di un certificato
ServicePointManager.ServerCertificateValidationCallback =
delegate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)
{
// Tutti i certificati sono validi
return true;
};Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Impostare la content-visibility in CSS per ottimizare il rendering iniziale di una pagina
Modificare lo stile in una QuickGrid Blazor
Blue/Green Release in locale con .NET Aspire
Usare la parola chiave field per semplificare la scrittura di proprietà in C#
Gestione opzioni colonna nella Blazor QuickGrid


