HttpClientFactoryOptions.HandlerLifetime Proprietà

Definizione

Ottiene o imposta la durata di riutilizzo di un'istanza HttpMessageHandler di . Per ogni client nominato è possibile configurare un valore di durata del gestore configurabile. Il valore predefinito di questa proprietà è di due 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 eseguirà il pool delle IHttpClientFactory istanze create dalla factory per ridurre il HttpMessageHandler consumo di risorse. Questa impostazione consente di configurare la quantità di tempo per cui un gestore può essere inserita in pool prima di essere pianificata per la rimozione dal pool e dall'eliminazione.

Il pooling di gestori è auspicabile perché ogni gestore gestisce in genere le proprie connessioni HTTP sottostanti; la creazione di più gestori del necessario può comportare ritardi di connessione. Alcuni gestori mantengono anche le connessioni aperte a tempo indefinito, impedendo al gestore di reagire alle modifiche DNS. Il valore di HandlerLifetime deve essere scelto con una comprensione del requisito dell'applicazione per 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 che viene elaborato a intervalli per eliminare i gestori solo quando diventano non raggiungibili. L'uso di istanze di lunga durata HttpClient impedirà l'eliminazione dell'oggetto sottostante HttpMessageHandler fino a quando tutti i riferimenti non vengono sottoposti a Garbage Collection.

Si applica a