ServicePoint.ConnectionLeaseTimeout Egenskap
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Hämtar eller anger antalet millisekunder varefter en aktiv ServicePoint anslutning stängs.
public:
property int ConnectionLeaseTimeout { int get(); void set(int value); };
public int ConnectionLeaseTimeout { get; set; }
member this.ConnectionLeaseTimeout : int with get, set
Public Property ConnectionLeaseTimeout As Integer
Egenskapsvärde
A Int32 som anger antalet millisekunder som en aktiv ServicePoint anslutning förblir öppen. Standardvärdet är -1, vilket gör att en aktiv ServicePoint anslutning kan förbli ansluten på obestämd tid. Ställ in den här egenskapen på 0 för att tvinga ServicePoint anslutningar att stängas efter service av en begäran.
Undantag
Värdet som anges för en angiven åtgärd är ett negativt tal som är mindre än -1.
Exempel
I följande kodexempel anges värdet för den här egenskapen.
using System;
using System.Net;
using System.Net.Sockets;
using System.IO;
using System.Threading;
namespace Examples.System.Net
{
public class ServicePointExample
{
// Pass in the name of the Web page to retrieve.
public static void Main(string[] args)
{
string page;
if (args == null || args.Length == 0 || args[0].Length == 0)
{
page = "http://www.contoso.com/default.html";
}
else
{
page = args[0];
}
// Create the request.
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(page);
// Get the service point that handles the request's socket connection.
ServicePoint point = request.ServicePoint;
// Set the receive buffer size on the underlying socket.
point.ReceiveBufferSize = 2048;
// Set the connection lease timeout to infinite.
point.ConnectionLeaseTimeout = Timeout.Infinite;
// Send the request.
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream responseStream = response.GetResponseStream();
StreamReader s = new StreamReader(responseStream);
// Display the response.
Console.WriteLine(s.ReadToEnd());
s.Close();
responseStream.Close();
response.Close();
}
}
}
Imports System.Net
Imports System.Net.Sockets
Imports System.IO
Imports System.Threading
Public Class ServicePointExample
' Pass in the name of the Web page to retrieve.
Public Shared Sub Main(ByVal args() As String)
Dim page As String
If args Is Nothing OrElse args.Length = 0 OrElse args(0).Length = 0 Then
page = "http://www.contoso.com/default.html"
Else
page = args(0)
End If
Dim request As HttpWebRequest = CType(WebRequest.Create(page), HttpWebRequest)
' Get the service point that handles the request's socket connection.
Dim point As ServicePoint = request.ServicePoint
' Set the receive buffer size on the underlying socket.
point.ReceiveBufferSize = 2048
' Set the connection lease timeout to infinite.
point.ConnectionLeaseTimeout = Timeout.Infinite
' Send the request.
Dim response As HttpWebResponse = CType(request.GetResponse(), HttpWebResponse)
Dim responseStream As Stream = response.GetResponseStream()
Dim s As New StreamReader(responseStream)
' Display the response.
Console.WriteLine(s.ReadToEnd())
responseStream.Close()
response.Close()
End Sub
End Class
Kommentarer
Caution
WebRequest, HttpWebRequest, ServicePoint, och WebClient är föråldrade och du bör inte använda dem för ny utveckling. Använd HttpClient i stället.
Du kan använda den här egenskapen för att säkerställa att ett ServicePoint objekts aktiva anslutningar inte förblir öppna på obestämd tid. Den här egenskapen är avsedd för scenarier där anslutningar ska tas bort och återupprättas regelbundet, till exempel belastningsutjämningsscenarier.
När är KeepAlive för en begäran true anger egenskapen som standard MaxIdleTime tidsgränsen för att stänga ServicePoint anslutningar på grund av inaktivitet. Om har ServicePoint aktiva anslutningar MaxIdleTime har ingen effekt och anslutningarna förblir öppna på obestämd tid.
När egenskapen ConnectionLeaseTimeout har angetts till ett annat värde än -1 och efter den angivna tiden stängs en aktiv ServicePoint anslutning efter att ha underhållit en begäran genom att KeepAlive ange false i den begäran.
Om du anger det här värdet påverkas alla anslutningar som hanteras av ServicePoint objektet.
Note
Sedan .NET 9 mappar den här egenskapen till SocketsHttpHandler.PooledConnectionLifetime. Hanterare återanvänds dock inte mellan begäranden, så det har ingen meningsfull inverkan.