HttpClientFactoryOptions.HandlerLifetime Proprietà

Definizione

Ottiene o imposta l'intervallo di tempo per cui un'istanza di HttpMessageHandler può essere riutilizzata. Per ogni client denominato può essere configurato un valore di durata del gestore. Il valore predefinito di questa proprietà è 2 minuti. Impostare la durata su InfiniteTimeSpan per disabilitare la scadenza del gestore.

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

Valore della proprietà

Commenti

L'implementazione predefinita di IHttpClientFactory eseguirà il pool delle istanze create dalla factory per ridurre l'utilizzo HttpMessageHandler delle risorse. Questa impostazione consente di configurare la quantità di tempo per cui un gestore può essere inserito in pool prima di essere pianificato per la rimozione dal pool e lo smaltimento.

Il pooling dei gestori è opportuno poiché ogni gestore si occupa in genere di gestire le proprie connessioni HTTP sottostanti. La creazione di un numero superiore di gestori rispetto a quelli necessari può determinare ritardi di connessione. Alcuni gestori mantengono anche le connessioni aperte a tempo indeterminato, impedendo al gestore di reagire alle modifiche DNS. Il valore di HandlerLifetime deve essere scelto con una conoscenza del requisito dell'applicazione di rispondere alle modifiche nell'ambiente di rete.

La scadenza di un gestore non eliminerà immediatamente il gestore. Un gestore scaduto viene inserito in un pool separato elaborato a intervalli per eliminare i gestori solo quando diventano non raggiungibili. L'uso di istanze di lunga durata HttpClient impedisce l'eliminazione dell'oggetto sottostante HttpMessageHandler fino a quando tutti i riferimenti non vengono sottoposti a Garbage Collection.

Si applica a