ServicePointManager.SetTcpKeepAlive(Boolean, Int32, Int32) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Aktiviert oder deaktiviert die Keep-Alive-Option für eine TCP-Verbindung.
public:
static void SetTcpKeepAlive(bool enabled, int keepAliveTime, int keepAliveInterval);
public static void SetTcpKeepAlive(bool enabled, int keepAliveTime, int keepAliveInterval);
static member SetTcpKeepAlive : bool * int * int -> unit
Public Shared Sub SetTcpKeepAlive (enabled As Boolean, keepAliveTime As Integer, keepAliveInterval As Integer)
Parameter
- enabled
- Boolean
Wenn dieser Wert auf "true" festgelegt ist, wird die TCP-Keep-Alive-Option für eine TCP-Verbindung mithilfe der angegebenen keepAliveTime Werte keepAliveInterval aktiviert.
Wenn dieser Wert auf "false" festgelegt ist, wird die TCP-Keep-Alive-Option deaktiviert, und die verbleibenden Parameter werden ignoriert.
Der Standardwert ist "false".
- keepAliveTime
- Int32
Gibt das Timeout in Millisekunden ohne Aktivität an, bis das erste Keep-Alive-Paket gesendet wird.
Der Wert muss größer als 0 sein. Wenn ein Wert kleiner als oder gleich Null übergeben wird, wird ein ArgumentOutOfRangeException Fehler ausgelöst.
- keepAliveInterval
- Int32
Gibt das Intervall in Millisekunden an, zwischen dem aufeinander folgenden Keep-Alive-Paketen gesendet werden, wenn keine Bestätigung empfangen wird.
Der Wert muss größer als 0 sein. Wenn ein Wert kleiner als oder gleich Null übergeben wird, wird ein ArgumentOutOfRangeException Fehler ausgelöst.
Ausnahmen
Der für keepAliveTime oder keepAliveInterval Parameter angegebene Wert ist kleiner oder gleich 0.
Hinweise
Eine Anwendung kann anfordern, dass ein TCP/IP-Anbieter die Verwendung von Keep-Alive-Paketen für eine TCP-Verbindung ermöglicht. Der Standardwert ist, dass die Verwendung von Keep-Alive-Paketen für eine TCP-Verbindung deaktiviert ist.
Die Standardeinstellungen, wenn ein TCP-Socket initialisiert wird, legt das Keep-Alive-Timeout auf 2 Stunden und das Keep-Alive-Intervall auf 1 Sekunde fest. Der keepAliveTime Parameter gibt das Timeout in Millisekunden ohne Aktivität an, bis das erste Keep-Alive-Paket gesendet wird. Der keepAliveInterval Parameter gibt das Intervall in Millisekunden an, zwischen dem aufeinander folgenden Keep-Alive-Paketen gesendet werden, wenn keine Bestätigung empfangen wird. Die Anzahl der Keep-Alive-Sonden kann nicht geändert werden und ist auf 10 festgelegt.
Wenn eine TCP-Verbindung als Ergebnis von Keep-Alives verworfen wird, wird ein SocketError Von NetworkReset an alle Aufrufe zurückgegeben, die im Socket ausgeführt werden, und alle nachfolgenden Aufrufe schlagen mit einem von NotConnected.SocketError
Diese Methode ist nicht threadsicher. Alle ServicePoint gleichzeitig erstellten Werte werden möglicherweise teilweise geänderte Werte für den TCP-Keep-Alive angezeigt.
Hinweis
Seit .NET 9 wird verwendetSocketsHttpHandler.ConnectCallback, um TCP-Keep-Alive-Optionen für den zugrunde liegenden Socket auf die Werte festzulegen, HttpWebRequest die für diese Methode bereitgestellt werden.