ServicePoint.SetTcpKeepAlive(Boolean, Int32, Int32) Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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.