Procedure consigliate per le classi System.Net

I suggerimenti seguenti consentono di usare al meglio le classi contenute in System.Net:

  • Per le procedure consigliate per Transport Layer Security (TLS), vedere Procedure consigliate per Transport Layer Security (TLS) con .NET Framework.

  • Usare HttpClient per inviare richieste HTTP invece di WebRequest, obsoleto in .NET 6. In .NET Framework creare una nuova istanza HttpClient ogni volta che è necessario inviare una richiesta. (Le linee guida per .NET 5+/.NET Core sono meno definite. Per ricevere ulteriori informazioni, consultare l'articolo Linee guida per l'uso di HttpClient).

  • Quando si scrivono applicazioni ASP.NET da eseguire su un server mediante le classi System.Net, è spesso preferibile, in termini di prestazioni, usare il metodo asincrono SendAsync anziché Send.

  • Il numero di connessioni aperte a una risorsa Internet può influire in modo significativo sulle prestazioni di rete e sulla velocità effettiva. Per impostazione predefinita, System.Net usa due connessioni per ogni applicazione e per ogni host. Impostando la proprietà ConnectionLimit nella classe ServicePoint relativa all'applicazione, è possibile aumentare questo numero per un determinato host. L'impostazione della proprietà ServicePointManager.DefaultPersistentConnectionLimit consente invece di aumentare il numero predefinito per tutti gli host.

  • Quando si scrivono protocolli di livello socket, è preferibile usare TcpClient o UdpClient anziché scrivere direttamente su un Socket. Queste due classi client, infatti, incapsulano la creazione di socket TCP e UDP, evitando di dover gestire i dettagli della connessione.

  • Quando si accede a siti che richiedono credenziali, usare la classe CredentialCache per creare una cache di credenziali anziché fornirle con ogni richiesta. La classe CredentialCache cerca nella cache la credenziale appropriata da presentare con una richiesta, sollevando l'utente dalla responsabilità di creare e presentare credenziali in base all'URL.

Vedi anche