Číst v angličtině

Sdílet prostřednictvím


ServicePoint.ConnectionLeaseTimeout Vlastnost

Definice

Získá nebo nastaví počet milisekund, po kterých je aktivní ServicePoint připojení uzavřeno.

public int ConnectionLeaseTimeout { get; set; }

Hodnota vlastnosti

Int32 určující počet milisekund, které aktivní ServicePoint připojení zůstane otevřené. Výchozí hodnota je -1, což umožňuje aktivní ServicePoint připojení zůstat trvale připojené. Nastavte tuto vlastnost na hodnotu 0, aby se připojení ServicePoint po provedení žádosti zavřela.

Výjimky

Hodnota zadaná pro operaci sady je záporné číslo menší než -1.

Příklady

Následující příklad kódu nastaví hodnotu této vlastnosti.

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();
        }
    }
}

Poznámky

Upozornění

WebRequest, HttpWebRequest, ServicePointa WebClient jsou zastaralé a neměli byste je používat pro nový vývoj. Místo toho použijte HttpClient.

Tuto vlastnost můžete použít k zajištění, aby aktivní připojení objektu ServicePoint nezůstávaly otevřené neomezeně dlouho. Tato vlastnost je určená pro scénáře, kdy by se připojení měla pravidelně zahodit a znovu publikovat, například scénáře vyrovnávání zatížení.

Pokud je KeepAlive pro požadavek true, vlastnost MaxIdleTime nastaví časový limit pro zavření ServicePoint připojení kvůli nečinnosti. Pokud ServicePoint obsahuje aktivní připojení, MaxIdleTime nemá žádný vliv a připojení zůstanou otevřená neomezeně dlouho.

Pokud je vlastnost ConnectionLeaseTimeout nastavena na jinou hodnotu než -1 a po uplynutí zadaného času se aktivní připojení ServicePoint zavře po provedení požadavku nastavením KeepAlive na false v tomto požadavku.

Nastavení této hodnoty ovlivní všechna připojení spravovaná objektem ServicePoint.

Platí pro

Produkt Verze
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

Viz také