ServicePointManager Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Caution
WebRequest, HttpWebRequest, ServicePoint, and WebClient are obsolete. Use HttpClient instead. Settings on ServicePointManager no longer affect SslStream or HttpClient.
Manages the collection of ServicePoint objects.
public ref class ServicePointManager
public class ServicePointManager
[System.Obsolete("WebRequest, HttpWebRequest, ServicePoint, and WebClient are obsolete. Use HttpClient instead. Settings on ServicePointManager no longer affect SslStream or HttpClient.", DiagnosticId="SYSLIB0014", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public class ServicePointManager
type ServicePointManager = class
[<System.Obsolete("WebRequest, HttpWebRequest, ServicePoint, and WebClient are obsolete. Use HttpClient instead. Settings on ServicePointManager no longer affect SslStream or HttpClient.", DiagnosticId="SYSLIB0014", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type ServicePointManager = class
Public Class ServicePointManager
- Inheritance
-
ServicePointManager
- Attributes
Examples
The following code example creates a ServicePoint object for connections to the URI www.contoso.com
.
Uri^ myUri = gcnew Uri( "http://www.contoso.com/" );
ServicePoint^ mySP = ServicePointManager::FindServicePoint( myUri );
Uri myUri = new Uri("http://www.contoso.com/");
ServicePoint mySP = ServicePointManager.FindServicePoint(myUri);
Dim myUri As New Uri("http://www.contoso.com/")
Dim mySP As ServicePoint = ServicePointManager.FindServicePoint(myUri)
Remarks
ServicePointManager is a static class used to create, maintain, and delete instances of the ServicePoint class.
When an application requests a connection to an Internet resource Uniform Resource Identifier (URI) through the ServicePointManager object, the ServicePointManager returns a ServicePoint object that contains connection information for the host and scheme identified by the URI. If there is an existing ServicePoint object for that host and scheme, the ServicePointManager object returns the existing ServicePoint object; otherwise, the ServicePointManager object creates a new ServicePoint object.
The .NET Framework 4.6 includes a new security feature that blocks insecure cipher and hashing algorithms for connections. Applications using TLS/SSL through APIs such as HttpClient, HttpWebRequest, FtpWebRequest, SmtpClient, SslStream, etc. and targeting .NET Framework 4.6 get the more-secure behavior by default.
Developers may want to opt out of this behavior in order to maintain interoperability with their existing SSL3 services or TLS w/ RC4 services. This article explains how to modify your code so that the new behavior is disabled.
Important
We don't recommend that you use the ServicePointManager
class for new development. Instead, use the System.Net.Http.HttpClient class.
Fields
DefaultNonPersistentConnectionLimit |
The default number of non-persistent connections (4) allowed on a ServicePoint object connected to an HTTP/1.0 or later server. This field is constant but is no longer used as of .NET Framework 2.0. |
DefaultPersistentConnectionLimit |
The default number of persistent connections (2) allowed on a ServicePoint object connected to an HTTP/1.1 or later server. This field is constant and is used to initialize the DefaultConnectionLimit property if the value of the DefaultConnectionLimit property has not been set either directly or through configuration. |
Properties
CertificatePolicy |
Obsolete.
Gets or sets policy for server certificates. |
CheckCertificateRevocationList |
Gets or sets a Boolean value that indicates whether the certificate is checked against the certificate authority revocation list. |
DefaultConnectionLimit |
Gets or sets the maximum number of concurrent connections allowed by a ServicePoint object. |
DnsRefreshTimeout |
Gets or sets a value that indicates how long a Domain Name Service (DNS) resolution is considered valid. |
EnableDnsRoundRobin |
Gets or sets a value that indicates whether a Domain Name Service (DNS) resolution rotates among the applicable Internet Protocol (IP) addresses. |
EncryptionPolicy |
Gets the EncryptionPolicy for this ServicePointManager instance. |
Expect100Continue |
Gets or sets a Boolean value that determines whether 100-Continue behavior is used. |
MaxServicePointIdleTime |
Gets or sets the maximum idle time of a ServicePoint object. |
MaxServicePoints |
Gets or sets the maximum number of ServicePoint objects to maintain at any time. |
ReusePort |
Setting this property value to |
SecurityProtocol |
Gets or sets the security protocol used by the ServicePoint objects managed by the ServicePointManager object. |
ServerCertificateValidationCallback |
Gets or sets the callback to validate a server certificate. |
UseNagleAlgorithm |
Determines whether the Nagle algorithm is used by the service points managed by this ServicePointManager object. |
Methods
Equals(Object) |
Determines whether the specified object is equal to the current object. (Inherited from Object) |
FindServicePoint(String, IWebProxy) |
Obsolete.
Finds an existing ServicePoint object or creates a new ServicePoint object to manage communications with the specified Uniform Resource Identifier (URI). |
FindServicePoint(Uri) |
Obsolete.
Finds an existing ServicePoint object or creates a new ServicePoint object to manage communications with the specified Uri object. |
FindServicePoint(Uri, IWebProxy) |
Obsolete.
Finds an existing ServicePoint object or creates a new ServicePoint object to manage communications with the specified Uri object. |
GetHashCode() |
Serves as the default hash function. (Inherited from Object) |
GetType() |
Gets the Type of the current instance. (Inherited from Object) |
MemberwiseClone() |
Creates a shallow copy of the current Object. (Inherited from Object) |
SetTcpKeepAlive(Boolean, Int32, Int32) |
Enables or disables the keep-alive option on a TCP connection. |
ToString() |
Returns a string that represents the current object. (Inherited from Object) |