This documentation is archived and is not being maintained.

ServicePoint Class

Provides connection management for HTTP connections.


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

type ServicePoint =  class end

The ServicePoint type exposes the following members.

Public propertyAddressGets the Uniform Resource Identifier (URI) of the server that this ServicePoint object connects to.
Public propertyBindIPEndPointDelegateSpecifies the delegate to associate a local IPEndPoint with a ServicePoint.
Public propertyCertificateGets the certificate received for this ServicePoint object.
Public propertyClientCertificateGets the last client certificate sent to the server.
Public propertyConnectionLeaseTimeoutGets or sets the number of milliseconds after which an active ServicePoint connection is closed.
Public propertyConnectionLimitGets or sets the maximum number of connections allowed on this ServicePoint object.
Public propertyConnectionNameGets the connection name.
Public propertyCurrentConnectionsGets the number of open connections associated with this ServicePoint object.
Public propertyExpect100ContinueGets or sets a Boolean value that determines whether 100-Continue behavior is used.
Public propertyIdleSinceGets the date and time that the ServicePoint object was last connected to a host.
Public propertyMaxIdleTimeGets or sets the amount of time a connection associated with the ServicePoint object can remain idle before the connection is closed.
Public propertyProtocolVersionGets the version of the HTTP protocol that the ServicePoint object uses.
Public propertyReceiveBufferSizeGets or sets the size of the receiving buffer for the socket used by this ServicePoint.
Public propertySupportsPipeliningIndicates whether the ServicePoint object supports pipelined connections.
Public propertyUseNagleAlgorithmGets or sets a Boolean value that determines whether the Nagle algorithm is used on connections managed by this ServicePoint object.

Public methodCloseConnectionGroupRemoves the specified connection group from this ServicePoint object.
Public methodEquals(Object)Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public methodGetHashCodeServes as a hash function for a particular type. (Inherited from Object.)
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Protected methodMemberwiseCloneCreates a shallow copy of the current Object. (Inherited from Object.)
Public methodSetTcpKeepAliveEnables or disables the keep-alive option on a TCP connection.
Public methodToStringReturns a string that represents the current object. (Inherited from Object.)

The ServicePoint class handles connections to an Internet resource based on the host information passed in the resource's Uniform Resource Identifier (URI). The initial connection to the resource determines the information that the ServicePoint object maintains, which is then shared by all subsequent requests to that resource.

ServicePoint objects are managed by the ServicePointManager class and are created, if necessary, by the ServicePointManager.FindServicePoint method. ServicePoint objects are never created directly but are always created and managed by the ServicePointManager class. The maximum number of ServicePoint objects that can be created is set by the ServicePointManager.MaxServicePoints property.

Each ServicePoint object maintains its connection to an Internet resource until it has been idle longer than the time specified in the MaxIdleTime property. When a ServicePoint exceeds the MaxIdleTime value, it can be recycled to another connection. The default value of MaxIdleTime is set by the ServicePointManager.MaxServicePointIdleTime property.

When the ConnectionLeaseTimeout property is set to a value other than -1, and after the specified time elapses, an active ServicePoint connection is closed after it services the next request. This is useful for applications that do not require active connections that are opened indefinitely, as they are by default.


In high load conditions, some applications may run out of free threads in the ThreadPool, which may lead to poor system performance (such as high and variable transaction times). See for a number of configuration changes you can make to fix this issue.

The following code example creates a ServicePoint object that connects to the URI

No code example is currently available or this language may not be supported.

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

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