Condividi tramite


ReliableSessionBindingElement.MaxRetryCount Proprietà

Definizione

Ottiene o imposta il numero massimo di tentativi di trasferimento di un messaggio durante la sessione affidabile.

public:
 property int MaxRetryCount { int get(); void set(int value); };
public int MaxRetryCount { get; set; }
member this.MaxRetryCount : int with get, set
Public Property MaxRetryCount As Integer

Valore della proprietà

Numero massimo di tentativi di invio di un messaggio. Il valore minimo è 1; il massimo è Int32.MaxValue; e il valore predefinito è 8.

Eccezioni

Il valore impostato è minore o uguale a zero.

Commenti

Un messaggio è considerato trasferito se il recapito al destinatario è stato dato riconosciuto dal destinatario.

Se entro una certa quantità di tempo non è stato ricevuto un riconoscimento per un messaggio trasmesso, l'infrastruttura lo ritrasmette automaticamente. L'infrastruttura tenta di inviare il messaggio per un numero massimo di volte pari a MaxRetryCount. La mancata ricezione di un acknowledgment prima che venga raggiunto questo limite viene considerata un errore di comunicazione irreversibile e determina la generazione di un evento di errore del canale.

L'infrastruttura usa un algoritmo di interruzione temporanea esponenziale per determinare quando ritrasmettere, in base a un tempo medio di andata e ritorno calcolato. Il numero di tentativi iniziale viene calcolato in base al tempo di andata e ritorno misurato necessario per stabilire la sessione. L'algoritmo di ritrasmissione raddoppia il ritardo a ogni tentativo, determinando così un intervallo di circa 8,5 minuti tra il primo e l'ultimo tentativo di trasmissione. Il momento del primo tentativo di ritrasmissione viene regolato in base al tempo di andata e ritorno calcolato e l'adattamento temporale richiesto da tali tentativi varia di conseguenza. Questo consente di adattare dinamicamente il tempo di ritrasmissione alle mutevoli condizioni della rete.

Si applica a