Provides connection management for HTTP connections.
Assembly: System (in System.dll)
Thetype exposes the following members.
|Address||Gets the Uniform Resource Identifier (URI) of the server that this object connects to.|
|BindIPEndPointDelegate||Specifies the delegate to associate a local IPEndPoint with a .|
|Certificate||Gets the certificate received for this object.|
|ClientCertificate||Gets the last client certificate sent to the server.|
|ConnectionLeaseTimeout||Gets or sets the number of milliseconds after which an active connection is closed.|
|ConnectionLimit||Gets or sets the maximum number of connections allowed on this object.|
|ConnectionName||Gets the connection name.|
|CurrentConnections||Gets the number of open connections associated with this object.|
|Expect100Continue||Gets or sets a Boolean value that determines whether 100-Continue behavior is used.|
|IdleSince||Gets the date and time that the object was last connected to a host.|
|MaxIdleTime||Gets or sets the amount of time a connection associated with the object can remain idle before the connection is closed.|
|ProtocolVersion||Gets the version of the HTTP protocol that the object uses.|
|ReceiveBufferSize||Gets or sets the size of the receiving buffer for the socket used by this .|
|SupportsPipelining||Indicates whether the object supports pipelined connections.|
|UseNagleAlgorithm||Gets or sets a Boolean value that determines whether the Nagle algorithm is used on connections managed by this object.|
|CloseConnectionGroup||Removes the specified connection group from this object.|
|Equals(Object)||Determines whether the specified object is equal to the current object. (Inherited from Object.)|
|Finalize||Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from 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||Enables or disables the keep-alive option on a TCP connection.|
|ToString||Returns a string that represents the current object. (Inherited from Object.)|
The 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 object maintains, which is then shared by all subsequent requests to that resource.
objects are managed by the ServicePointManager class and are created, if necessary, by the ServicePointManager.FindServicePoint method. objects are never created directly but are always created and managed by the ServicePointManager class. The maximum number of objects that can be created is set by the ServicePointManager.MaxServicePoints property.
Each object maintains its connection to an Internet resource until it has been idle longer than the time specified in the MaxIdleTime property. When a 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 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 http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag/html/scalenetchapt17.asp for a number of configuration changes you can make to fix this issue.