ServicePoint.SetTcpKeepAlive(Boolean, Int32, Int32) Methode

Definitie

Hiermee schakelt u de optie keep-alive in of uit op een TCP-verbinding.

public:
 void SetTcpKeepAlive(bool enabled, int keepAliveTime, int keepAliveInterval);
public void SetTcpKeepAlive(bool enabled, int keepAliveTime, int keepAliveInterval);
member this.SetTcpKeepAlive : bool * int * int -> unit
Public Sub SetTcpKeepAlive (enabled As Boolean, keepAliveTime As Integer, keepAliveInterval As Integer)

Parameters

enabled
Boolean

Als deze optie is ingesteld op true, wordt de optie TCP-keep-alive op een TCP-verbinding ingeschakeld met behulp van de opgegeven keepAliveTime waarden en keepAliveInterval waarden.

Als deze optie is ingesteld op onwaar, wordt de optie TCP-keep-alive uitgeschakeld en worden de resterende parameters genegeerd.

De standaardwaarde is onwaar.

keepAliveTime
Int32

Hiermee geeft u de time-out in milliseconden, zonder activiteit totdat het eerste keep-alive-pakket wordt verzonden.

De waarde moet groter zijn dan 0. Als een waarde van minder dan of gelijk aan nul wordt doorgegeven, wordt er een ArgumentOutOfRangeException gegenereerd.

keepAliveInterval
Int32

Hiermee geeft u het interval, in milliseconden, tussen wanneer opeenvolgende keep-alive-pakketten worden verzonden als er geen bevestiging wordt ontvangen.

De waarde moet groter zijn dan 0. Als een waarde van minder dan of gelijk aan nul wordt doorgegeven, wordt er een ArgumentOutOfRangeException gegenereerd.

Uitzonderingen

De opgegeven waarde voor keepAliveTime of keepAliveInterval parameter is kleiner dan of gelijk aan 0.

Opmerkingen

Caution

WebRequest, HttpWebRequest, ServicePointen WebClient zijn verouderd en u moet ze niet gebruiken voor nieuwe ontwikkeling. Gebruik in plaats daarvan HttpClient.

Een toepassing kan aanvragen dat een TCP/IP-provider het gebruik van keep alive-pakketten op een TCP-verbinding mogelijk maakt. De standaardinstelling is dat het gebruik van keep-alive-pakketten op een TCP-verbinding is uitgeschakeld.

De standaardinstellingen wanneer een TCP-socket wordt geïnitialiseerd, stelt de time-out voor keep alive in op 2 uur en het keep-alive-interval op 1 seconde. De keepAliveTime parameter specificeert de time-out, in milliseconden, zonder activiteit totdat het eerste keep-alive-pakket wordt verzonden. De keepAliveInterval parameter specificeert het interval, in milliseconden, tussen wanneer opeenvolgende keep-alive-pakketten worden verzonden als er geen bevestiging wordt ontvangen. Het aantal keep alive-tests kan niet worden gewijzigd en is ingesteld op 10.

Als een TCP-verbinding wordt verbroken als gevolg van keep-alives, wordt een SocketError van NetworkReset de aanroepen geretourneerd die worden uitgevoerd op de socket en eventuele volgende aanroepen mislukken met een SocketError van NotConnected.

Deze methode is niet thread-safe. Elke nieuwe verbinding die tegelijkertijd is gemaakt, kan gedeeltelijk gewijzigde waarden voor de TCP-keep-alive zien.

Note

Sinds .NET 9 maakt HttpWebRequest gebruik van SocketsHttpHandler.ConnectCallback om TCP-opties voor keep alive op de onderliggende socket in te stellen op de waarden die voor deze methode zijn opgegeven.

Van toepassing op