ServicePointManager.SetTcpKeepAlive(Boolean, Int32, Int32) Metod
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.
Aktiverar eller inaktiverar alternativet keep-alive på en TCP-anslutning.
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)
Parametrar
- enabled
- Boolean
Om värdet är true aktiveras alternativet TCP keep-alive på en TCP-anslutning med hjälp av angivna keepAliveTime värden och keepAliveInterval värden.
Om värdet är false inaktiveras alternativet TCP keep-alive och de återstående parametrarna ignoreras.
Standardvärdet är falskt.
- keepAliveTime
- Int32
Anger tidsgränsen, i millisekunder, utan aktivitet förrän det första keep-alive-paketet har skickats.
Värdet måste vara större än 0. Om ett värde på mindre än eller lika med noll skickas genereras ett ArgumentOutOfRangeException värde.
- keepAliveInterval
- Int32
Anger intervallet i millisekunder mellan när efterföljande keep-alive-paket skickas om ingen bekräftelse tas emot.
Värdet måste vara större än 0. Om ett värde på mindre än eller lika med noll skickas genereras ett ArgumentOutOfRangeException värde.
Undantag
Värdet som anges för keepAliveTime eller keepAliveInterval parametern är mindre än eller lika med 0.
Kommentarer
Ett program kan begära att en TCP/IP-provider aktiverar användning av keep-alive-paket på en TCP-anslutning. Standardvärdet är att användningen av keep-alive-paket på en TCP-anslutning är inaktiverad.
Standardinställningarna när en TCP-socket initieras anger timeouten keep-alive till 2 timmar och keep-alive-intervallet till 1 sekund. Parametern keepAliveTime anger tidsgränsen, i millisekunder, utan aktivitet förrän det första keep-alive-paketet skickas. Parametern keepAliveInterval anger intervallet i millisekunder mellan när efterföljande keep-alive-paket skickas om ingen bekräftelse tas emot. Antalet keep-alive-avsökningar kan inte ändras och är inställt på 10.
Om en TCP-anslutning tas bort till följd av keep-alives, returneras en SocketError av NetworkReset till alla pågående anrop på socketen, och eventuella efterföljande anrop misslyckas med en SocketError av NotConnected.
Den här metoden är inte trådsäker. Alla ServicePoint som skapas samtidigt kan se delvis ändrade värden för TCP keep-alive.
Note
Sedan .NET 9 använder HttpWebRequestSocketsHttpHandler.ConnectCallback för att ange alternativ för att hålla TCP vid liv på den underliggande socketen till de värden som anges i den här metoden.