#101 - Gestire le connessioni TCP del .NET Framework
di Cristian Civera, in System.Net, 20 febbraio 2009
Archiviato in:
.NET Framework, .NET Framework 2.0, .NET Framework 3.0, .NET Framework 3.5, ASP.NET, ASP.NET 2.0, ASP.NET 3.5
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; };
Approfondimenti
-
Dettagli sul metodo SelectDTO
-
Le novità di Windows 7 per gli sviluppatori
-
Visual Studio 2010 e .NET Framework 4.0: beta 2 e data di release RTM
-
#978 - ASP.NET ed Entity Framework: Paginazione ed ordinamento con EntityDataSource
-
#1004 - Utilizzare le DataAnnotation con ASP.NET Dynamic Data Controls
-
#122 - Ricercare nodi su più livelli in una struttura XML utilizzando LINQ to XML
-
#128 - Caricare parzialmente un oggetto di dominio con Entity Framework
-
.NET Framework 4.0 e VS 2010: beta1 per tutti
-
#99 - Sfruttare i Command nelle applicazioni WPF
-
Utilizzare le stored procedure con Entity Framework
-
.NET Framework 4.0 beta 1: Windows Communication Foundation

















Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.