ServicePointManager Class


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Manages the collection of ServicePoint objects.

Namespace:   System.Net
Assembly:  System (in System.dll)


public class ServicePointManager


Obsolete. Gets or sets policy for server certificates.


Gets or sets a Boolean value that indicates whether the certificate is checked against the certificate authority revocation list.


Gets or sets the maximum number of concurrent connections allowed by a ServicePoint object.


Gets or sets a value that indicates how long a Domain Name Service (DNS) resolution is considered valid.


Gets or sets a value that indicates whether a Domain Name Service (DNS) resolution rotates among the applicable Internet Protocol (IP) addresses.


Gets the System.Net.Security.EncryptionPolicy for this ServicePointManager instance.


Gets or sets a Boolean value that determines whether 100-Continue behavior is used.


Gets or sets the maximum idle time of a ServicePoint object.


Gets or sets the maximum number of ServicePoint objects to maintain at any time.


Setting this property value to true causes all outbound TCP connections from HttpWebRequest to use the native socket option SO_REUSE_UNICASTPORT on the socket. This causes the underlying outgoing ports to be shared. This is useful for scenarios where a large number of outgoing connections are made in a short time, and the app risks running out of ports.


Gets or sets the security protocol used by the ServicePoint objects managed by the ServicePointManager object.


Gets or sets the callback to validate a server certificate.


Determines whether the Nagle algorithm is used by the service points managed by this ServicePointManager object.


Determines whether the specified object is equal to the current object.(Inherited from Object.)


Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.)

System_CAPS_pubmethodSystem_CAPS_staticFindServicePoint(String, IWebProxy)

Finds an existing ServicePoint object or creates a new ServicePoint object to manage communications with the specified Uniform Resource Identifier (URI).


Finds an existing ServicePoint object or creates a new ServicePoint object to manage communications with the specified Uri object.

System_CAPS_pubmethodSystem_CAPS_staticFindServicePoint(Uri, IWebProxy)

Finds an existing ServicePoint object or creates a new ServicePoint object to manage communications with the specified Uri object.


Serves as the default hash function. (Inherited from Object.)


Gets the Type of the current instance.(Inherited from Object.)


Creates a shallow copy of the current Object.(Inherited from Object.)

System_CAPS_pubmethodSystem_CAPS_staticSetTcpKeepAlive(Boolean, Int32, Int32)

Enables or disables the keep-alive option on a TCP connection.


Returns a string that represents the current object.(Inherited from Object.)


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 in the .NET Framework 2.0.


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.

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, FTPClient, 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.

The following code example creates a ServicePoint object for connections to the URI

Uri myUri = new Uri("");

 ServicePoint mySP = ServicePointManager.FindServicePoint(myUri);

.NET Framework
Available since 1.1

Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Return to top