HttpClientBuilderExtensions.SetHandlerLifetime Metodo

Definizione

Imposta l'intervallo di tempo per cui un'istanza di HttpMessageHandler può essere riutilizzata. Per ogni client nominato è possibile configurare un valore di durata del gestore configurabile. Il valore predefinito è di due minuti. Impostare la durata su InfiniteTimeSpan per disabilitare la scadenza del gestore.

public:
[System::Runtime::CompilerServices::Extension]
 static Microsoft::Extensions::DependencyInjection::IHttpClientBuilder ^ SetHandlerLifetime(Microsoft::Extensions::DependencyInjection::IHttpClientBuilder ^ builder, TimeSpan handlerLifetime);
public static Microsoft.Extensions.DependencyInjection.IHttpClientBuilder SetHandlerLifetime(this Microsoft.Extensions.DependencyInjection.IHttpClientBuilder builder, TimeSpan handlerLifetime);
static member SetHandlerLifetime : Microsoft.Extensions.DependencyInjection.IHttpClientBuilder * TimeSpan -> Microsoft.Extensions.DependencyInjection.IHttpClientBuilder
<Extension()>
Public Function SetHandlerLifetime (builder As IHttpClientBuilder, handlerLifetime As TimeSpan) As IHttpClientBuilder

Parametri

handlerLifetime
TimeSpan

Valori restituiti

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