Files
git.stella-ops.org/local-nuget/microsoft.extensions.http/10.0.0-rc.2.25502.107/lib/netstandard2.0/Microsoft.Extensions.Http.xml
2025-11-17 20:46:40 +02:00

1978 lines
148 KiB
XML

<?xml version="1.0"?>
<doc>
<assembly>
<name>Microsoft.Extensions.Http</name>
</assembly>
<members>
<member name="T:Microsoft.Extensions.Http.HttpClientFactoryOptions">
<summary>
Provides options for configuring the default <see cref="T:System.Net.Http.IHttpClientFactory"/>.
</summary>
</member>
<member name="P:Microsoft.Extensions.Http.HttpClientFactoryOptions.HttpMessageHandlerBuilderActions">
<summary>
Gets a list of operations used to configure an <see cref="T:Microsoft.Extensions.Http.HttpMessageHandlerBuilder"/>.
</summary>
</member>
<member name="P:Microsoft.Extensions.Http.HttpClientFactoryOptions.HttpClientActions">
<summary>
Gets a list of operations used to configure an <see cref="T:System.Net.Http.HttpClient"/>.
</summary>
</member>
<member name="P:Microsoft.Extensions.Http.HttpClientFactoryOptions.HandlerLifetime">
<summary>
Gets or sets the length of time that a <see cref="T:System.Net.Http.HttpMessageHandler"/> instance can be reused. Each named
client can have its own configured handler lifetime value. The default value of this property is two minutes.
Set the lifetime to <see cref="F:System.Threading.Timeout.InfiniteTimeSpan"/> to disable handler expiry.
</summary>
<remarks>
<para>
The default implementation of <see cref="T:System.Net.Http.IHttpClientFactory"/> will pool the <see cref="T:System.Net.Http.HttpMessageHandler"/>
instances created by the factory to reduce resource consumption. This setting configures the amount of time
a handler can be pooled before it is scheduled for removal from the pool and disposal.
</para>
<para>
Pooling of handlers is desirable as each handler typically manages its own underlying HTTP connections; creating
more handlers than necessary can result in connection delays. Some handlers also keep connections open indefinitely
which can prevent the handler from reacting to DNS changes. The value of <see cref="P:Microsoft.Extensions.Http.HttpClientFactoryOptions.HandlerLifetime"/> should be
chosen with an understanding of the application's requirement to respond to changes in the network environment.
</para>
<para>
Expiry of a handler will not immediately dispose the handler. An expired handler is placed in a separate pool
which is processed at intervals to dispose handlers only when they become unreachable. Using long-lived
<see cref="T:System.Net.Http.HttpClient"/> instances will prevent the underlying <see cref="T:System.Net.Http.HttpMessageHandler"/> from being
disposed until all references are garbage-collected.
</para>
</remarks>
</member>
<member name="P:Microsoft.Extensions.Http.HttpClientFactoryOptions.ShouldRedactHeaderValue">
<summary>
Gets or sets the <see cref="T:System.Func`2"/> that determines whether to redact the HTTP header value before logging.
</summary>
</member>
<member name="P:Microsoft.Extensions.Http.HttpClientFactoryOptions.SuppressHandlerScope">
<summary>
<para>
Gets or sets a value that determines whether the <see cref="T:System.Net.Http.IHttpClientFactory"/> will
create a dependency injection scope when building an <see cref="T:System.Net.Http.HttpMessageHandler"/>.
If <c>false</c> (default), a scope will be created, otherwise a scope will not be created.
</para>
<para>
This option is provided for compatibility with existing applications. It is recommended
to use the default setting for new applications.
</para>
</summary>
<remarks>
<para>
The <see cref="T:System.Net.Http.IHttpClientFactory"/> will (by default) create a dependency injection scope
each time it creates an <see cref="T:System.Net.Http.HttpMessageHandler"/>. The created scope has the same
lifetime as the message handler, and will be disposed when the message handler is disposed.
</para>
<para>
When operations that are part of <see cref="P:Microsoft.Extensions.Http.HttpClientFactoryOptions.HttpMessageHandlerBuilderActions"/> are executed
they will be provided with the scoped <see cref="T:System.IServiceProvider"/> via
<see cref="P:Microsoft.Extensions.Http.HttpMessageHandlerBuilder.Services"/>. This includes retrieving a message handler
from dependency injection, such as one registered using
<see cref="M:Microsoft.Extensions.DependencyInjection.HttpClientBuilderExtensions.AddHttpMessageHandler``1(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder)"/>.
</para>
</remarks>
</member>
<member name="T:Microsoft.Extensions.Http.HttpMessageHandlerBuilder">
<summary>
A builder abstraction for configuring <see cref="T:System.Net.Http.HttpMessageHandler"/> instances.
</summary>
<remarks>
The <see cref="T:Microsoft.Extensions.Http.HttpMessageHandlerBuilder"/> is registered in the service collection as
a transient service. Callers should retrieve a new instance for each <see cref="T:System.Net.Http.HttpMessageHandler"/> to
be created. Implementors should expect each instance to be used a single time.
</remarks>
</member>
<member name="P:Microsoft.Extensions.Http.HttpMessageHandlerBuilder.Name">
<summary>
Gets or sets the name of the <see cref="T:System.Net.Http.HttpClient"/> being created.
</summary>
<remarks>
The <see cref="P:Microsoft.Extensions.Http.HttpMessageHandlerBuilder.Name"/> is set by the <see cref="T:System.Net.Http.IHttpClientFactory"/> infrastructure
and is public for unit testing purposes only. Setting the <see cref="P:Microsoft.Extensions.Http.HttpMessageHandlerBuilder.Name"/> outside of
testing scenarios may have unpredictable results.
</remarks>
</member>
<member name="P:Microsoft.Extensions.Http.HttpMessageHandlerBuilder.PrimaryHandler">
<summary>
Gets or sets the primary <see cref="T:System.Net.Http.HttpMessageHandler"/>.
</summary>
</member>
<member name="P:Microsoft.Extensions.Http.HttpMessageHandlerBuilder.AdditionalHandlers">
<summary>
Gets a list of additional <see cref="T:System.Net.Http.DelegatingHandler"/> instances used to configure an
<see cref="T:System.Net.Http.HttpClient"/> pipeline.
</summary>
</member>
<member name="P:Microsoft.Extensions.Http.HttpMessageHandlerBuilder.Services">
<summary>
Gets an <see cref="T:System.IServiceProvider"/> which can be used to resolve services
from the dependency injection container.
</summary>
<remarks>
This property is sensitive to the value of
<see cref="P:Microsoft.Extensions.Http.HttpClientFactoryOptions.SuppressHandlerScope"/>. If <c>true</c> this
property will be a reference to the application's root service provider. If <c>false</c>
(default) this will be a reference to a scoped service provider that has the same
lifetime as the handler being created.
</remarks>
</member>
<member name="M:Microsoft.Extensions.Http.HttpMessageHandlerBuilder.Build">
<summary>
Creates an <see cref="T:System.Net.Http.HttpMessageHandler"/>.
</summary>
<returns>
An <see cref="T:System.Net.Http.HttpMessageHandler"/> built from the <see cref="P:Microsoft.Extensions.Http.HttpMessageHandlerBuilder.PrimaryHandler"/> and
<see cref="P:Microsoft.Extensions.Http.HttpMessageHandlerBuilder.AdditionalHandlers"/>.
</returns>
</member>
<member name="M:Microsoft.Extensions.Http.HttpMessageHandlerBuilder.CreateHandlerPipeline(System.Net.Http.HttpMessageHandler,System.Collections.Generic.IEnumerable{System.Net.Http.DelegatingHandler})">
<summary>
Constructs an instance of <see cref="T:System.Net.Http.HttpMessageHandler"/> by chaining <paramref name="additionalHandlers"/> one after another with <paramref name="primaryHandler"/> in the
end of the chain. The resulting pipeline is used by <see cref="T:System.Net.Http.IHttpClientFactory"/> infrastructure to create <see cref="T:System.Net.Http.HttpClient"/> instances with customized message
handlers. The resulting pipeline can also be accessed by using <see cref="T:System.Net.Http.IHttpMessageHandlerFactory"/> instead of <see cref="T:System.Net.Http.IHttpClientFactory"/>.
</summary>
<param name="primaryHandler">An instance of <see cref="T:System.Net.Http.HttpMessageHandler"/> to operate at the bottom of the handler chain and actually handle the HTTP transport operations.</param>
<param name="additionalHandlers">An ordered list of <see cref="T:System.Net.Http.DelegatingHandler"/> instances to be invoked as part
of sending an <see cref="T:System.Net.Http.HttpRequestMessage"/> and receiving an <see cref="T:System.Net.Http.HttpResponseMessage"/>.
The handlers are invoked in a top-down fashion. That is, the first entry is invoked first for
an outbound request message but last for an inbound response message.</param>
<returns>The HTTP message handler chain.</returns>
<exception cref="T:System.ArgumentNullException"><paramref name="primaryHandler"/> or <paramref name="additionalHandlers"/> is <see langword="null"/>.</exception>
<exception cref="T:System.InvalidOperationException"><paramref name="additionalHandlers"/> contains a <see langword="null"/> entry.
-or-
The <c>DelegatingHandler.InnerHandler</c> property must be <see langword="null"/>. <c>DelegatingHandler</c> instances provided to <c>HttpMessageHandlerBuilder</c> must not be reused or cached.</exception>
</member>
<member name="T:Microsoft.Extensions.Http.IHttpMessageHandlerBuilderFilter">
<summary>
Used by the <see cref="T:Microsoft.Extensions.Http.DefaultHttpClientFactory"/> to apply additional initialization to the configure the
<see cref="T:Microsoft.Extensions.Http.HttpMessageHandlerBuilder"/> immediately before <see cref="M:Microsoft.Extensions.Http.HttpMessageHandlerBuilder.Build"/>
is called.
</summary>
</member>
<member name="M:Microsoft.Extensions.Http.IHttpMessageHandlerBuilderFilter.Configure(System.Action{Microsoft.Extensions.Http.HttpMessageHandlerBuilder})">
<summary>
Applies additional initialization to the <see cref="T:Microsoft.Extensions.Http.HttpMessageHandlerBuilder"/>
</summary>
<param name="next">A delegate that will run the next <see cref="T:Microsoft.Extensions.Http.IHttpMessageHandlerBuilderFilter"/>.</param>
<returns>The configured <see cref="T:Microsoft.Extensions.Http.HttpMessageHandlerBuilder"/>.</returns>
</member>
<member name="T:Microsoft.Extensions.Http.ITypedHttpClientFactory`1">
<summary>
A factory abstraction for a component that can create typed client instances with custom
configuration for a given logical name.
</summary>
<typeparam name="TClient">The type of typed client to create.</typeparam>
<remarks>
<para>
The <see cref="T:Microsoft.Extensions.Http.ITypedHttpClientFactory`1"/> is infrastructure that supports the
<see cref="M:Microsoft.Extensions.DependencyInjection.HttpClientFactoryServiceCollectionExtensions.AddHttpClient``1(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String)"/> and
<see cref="M:Microsoft.Extensions.DependencyInjection.HttpClientBuilderExtensions.AddTypedClient``1(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder)"/> functionality. This type
should rarely be used directly in application code, use <see cref="M:System.IServiceProvider.GetService(System.Type)"/> instead
to retrieve typed clients.
</para>
<para>
A default <see cref="T:Microsoft.Extensions.Http.ITypedHttpClientFactory`1"/> can be registered in an <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/>
by calling <see cref="M:Microsoft.Extensions.DependencyInjection.HttpClientFactoryServiceCollectionExtensions.AddHttpClient(Microsoft.Extensions.DependencyInjection.IServiceCollection)"/>.
The default <see cref="T:Microsoft.Extensions.Http.ITypedHttpClientFactory`1"/> will be registered in the service collection as a singleton
open-generic service.
</para>
<para>
The default <see cref="T:Microsoft.Extensions.Http.ITypedHttpClientFactory`1"/> uses type activation to create typed client instances. Typed
client types are not retrieved directly from the <see cref="T:System.IServiceProvider"/>. See
<see cref="M:Microsoft.Extensions.DependencyInjection.ActivatorUtilities.CreateInstance(System.IServiceProvider,System.Type,System.Object[])" /> for details.
</para>
</remarks>
<example>
This sample shows the basic pattern for defining a typed client class.
<code>
class ExampleClient
{
private readonly HttpClient _httpClient;
private readonly ILogger _logger;
// typed clients can use constructor injection to access additional services
public ExampleClient(HttpClient httpClient, ILogger&lt;ExampleClient&gt; logger)
{
_httpClient = httpClient;
_logger = logger;
}
// typed clients can expose the HttpClient for application code to call directly
public HttpClient HttpClient => _httpClient;
// typed clients can also define methods that abstract usage of the HttpClient
public async Task SendHelloRequest()
{
var response = await _httpClient.GetAsync("/helloworld");
response.EnsureSuccessStatusCode();
}
}
</code>
</example>
<example>
This sample shows how to consume a typed client from an ASP.NET Core middleware.
<code>
// in Startup.cs
public void Configure(IApplicationBuilder app, ExampleClient exampleClient)
{
app.Run(async (context) =>
{
var response = await _exampleClient.GetAsync("/helloworld");
await context.Response.WriteAsync("Remote server said: ");
await response.Content.CopyToAsync(context.Response.Body);
});
}
</code>
</example>
<example>
This sample shows how to consume a typed client from an ASP.NET Core MVC Controller.
<code>
// in Controllers/HomeController.cs
public class HomeController : ControllerBase(IApplicationBuilder app, ExampleClient exampleClient)
{
private readonly ExampleClient _exampleClient;
public HomeController(ExampleClient exampleClient)
{
_exampleClient = exampleClient;
}
public async Task&lt;IActionResult&gt; Index()
{
var response = await _exampleClient.GetAsync("/helloworld");
var text = await response.Content.ReadAsStringAsync();
return Content("Remote server said: " + text, "text/plain");
};
}
</code>
</example>
</member>
<member name="M:Microsoft.Extensions.Http.ITypedHttpClientFactory`1.CreateClient(System.Net.Http.HttpClient)">
<summary>
Creates a typed client given an associated <see cref="T:System.Net.Http.HttpClient"/>.
</summary>
<param name="httpClient">
An <see cref="T:System.Net.Http.HttpClient"/> created by the <see cref="T:System.Net.Http.IHttpClientFactory"/> for the named client
associated with <typeparamref name="TClient"/>.
</param>
<returns>An instance of <typeparamref name="TClient"/>.</returns>
</member>
<member name="T:Microsoft.Extensions.Http.Logging.IHttpClientAsyncLogger">
<summary>
An abstraction for asyncronous custom HTTP request logging for a named <see cref="T:System.Net.Http.HttpClient"/> instances returned by <see cref="T:System.Net.Http.IHttpClientFactory"/>.
</summary>
<remarks>
<para>
Asyncronous methods (such as <see cref="M:Microsoft.Extensions.Http.Logging.IHttpClientAsyncLogger.LogRequestStartAsync(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken)"/>) would be called from async code paths (such as
<see cref="M:System.Net.Http.HttpClient.SendAsync(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken)"/>), and their
syncronous counterparts inherited from <see cref="T:Microsoft.Extensions.Http.Logging.IHttpClientLogger"/> (such as <see cref="M:Microsoft.Extensions.Http.Logging.IHttpClientLogger.LogRequestStart(System.Net.Http.HttpRequestMessage)"/>)
would be called from the corresponding sync code paths.
</para>
<para>
It is up to the user implementing the interface to decide whether to use <see cref="T:Microsoft.Extensions.Logging.ILogger"/>, or anything else, and what exactly to log.
However, the implementation should be mindful about potential adverse side effects of accessing some of the <see cref="T:System.Net.Http.HttpRequestMessage"/> or
<see cref="T:System.Net.Http.HttpResponseMessage"/> properties, such as reading from a content stream; if possible, such behavior should be avoided.
</para>
<para>
Logging implementation also should not throw any exceptions, as an unhandled exception in logging would fail the request.
</para>
</remarks>
</member>
<member name="M:Microsoft.Extensions.Http.Logging.IHttpClientAsyncLogger.LogRequestStartAsync(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken)">
<summary>
Logs before sending an HTTP request.
</summary>
<param name="request">The HTTP request message that will be sent.</param>
<param name="cancellationToken">The cancellation token to cancel operation.</param>
<returns>The task object representing the asynchronous operation. The result of the operation is a context object that will
be passed to a corresponding <see cref="M:Microsoft.Extensions.Http.Logging.IHttpClientAsyncLogger.LogRequestStopAsync(System.Object,System.Net.Http.HttpRequestMessage,System.Net.Http.HttpResponseMessage,System.TimeSpan,System.Threading.CancellationToken)"/> or <see cref="M:Microsoft.Extensions.Http.Logging.IHttpClientAsyncLogger.LogRequestFailedAsync(System.Object,System.Net.Http.HttpRequestMessage,System.Net.Http.HttpResponseMessage,System.Exception,System.TimeSpan,System.Threading.CancellationToken)"/>. Can be <see langword="null" />
if no context object is needed by the implementation.</returns>
</member>
<member name="M:Microsoft.Extensions.Http.Logging.IHttpClientAsyncLogger.LogRequestStopAsync(System.Object,System.Net.Http.HttpRequestMessage,System.Net.Http.HttpResponseMessage,System.TimeSpan,System.Threading.CancellationToken)">
<summary>
Logs after receiving an HTTP response.
</summary>
<param name="context">The context object that was previously returned by <see cref="M:Microsoft.Extensions.Http.Logging.IHttpClientAsyncLogger.LogRequestStartAsync(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken)"/>.</param>
<param name="request">The HTTP request message that was sent.</param>
<param name="response">The HTTP response message that was received.</param>
<param name="elapsed">Time elapsed since calling <see cref="M:Microsoft.Extensions.Http.Logging.IHttpClientAsyncLogger.LogRequestStartAsync(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken)"/>.</param>
<param name="cancellationToken">The cancellation token to cancel operation.</param>
<returns>The task object representing the asynchronous operation.</returns>
</member>
<member name="M:Microsoft.Extensions.Http.Logging.IHttpClientAsyncLogger.LogRequestFailedAsync(System.Object,System.Net.Http.HttpRequestMessage,System.Net.Http.HttpResponseMessage,System.Exception,System.TimeSpan,System.Threading.CancellationToken)">
<summary>
Logs the exception happened while sending an HTTP request.
</summary>
<param name="context">The context object that was previously returned by <see cref="M:Microsoft.Extensions.Http.Logging.IHttpClientAsyncLogger.LogRequestStartAsync(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken)"/>.</param>
<param name="request">The HTTP request message that was sent.</param>
<param name="response">If available, the HTTP response message that was received, and <see langword="null" /> otherwise.</param>
<param name="exception">Exception that happened during processing the HTTP request.</param>
<param name="elapsed">Time elapsed since calling <see cref="M:Microsoft.Extensions.Http.Logging.IHttpClientAsyncLogger.LogRequestStartAsync(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken)"/>.</param>
<param name="cancellationToken">The cancellation token to cancel operation.</param>
<returns>The task object representing the asynchronous operation.</returns>
</member>
<member name="T:Microsoft.Extensions.Http.Logging.IHttpClientLogger">
<summary>
An abstraction for custom HTTP request logging for a named <see cref="T:System.Net.Http.HttpClient"/> instances returned by <see cref="T:System.Net.Http.IHttpClientFactory"/>.
</summary>
<remarks>
<para>
It is up to the user implementing the interface to decide whether to use <see cref="T:Microsoft.Extensions.Logging.ILogger"/>, or anything else, and what exactly to log.
However, the implementation should be mindful about potential adverse side effects of accessing some of the <see cref="T:System.Net.Http.HttpRequestMessage"/> or
<see cref="T:System.Net.Http.HttpResponseMessage"/> properties, such as reading from a content stream; if possible, such behavior should be avoided.
</para>
<para>
Logging implementation also should not throw any exceptions, as an unhandled exception in logging would fail the request.
</para>
</remarks>
</member>
<member name="M:Microsoft.Extensions.Http.Logging.IHttpClientLogger.LogRequestStart(System.Net.Http.HttpRequestMessage)">
<summary>
Logs before sending an HTTP request.
</summary>
<param name="request">The HTTP request message that will be sent.</param>
<returns>A context object that will be passed to a corresponding <see cref="M:Microsoft.Extensions.Http.Logging.IHttpClientLogger.LogRequestStop(System.Object,System.Net.Http.HttpRequestMessage,System.Net.Http.HttpResponseMessage,System.TimeSpan)"/> or <see cref="M:Microsoft.Extensions.Http.Logging.IHttpClientLogger.LogRequestFailed(System.Object,System.Net.Http.HttpRequestMessage,System.Net.Http.HttpResponseMessage,System.Exception,System.TimeSpan)"/>. Can be <see langword="null" />
if no context object is needed by the implementation.</returns>
</member>
<member name="M:Microsoft.Extensions.Http.Logging.IHttpClientLogger.LogRequestStop(System.Object,System.Net.Http.HttpRequestMessage,System.Net.Http.HttpResponseMessage,System.TimeSpan)">
<summary>
Logs after receiving an HTTP response.
</summary>
<param name="context">The context object that was previously returned by <see cref="M:Microsoft.Extensions.Http.Logging.IHttpClientLogger.LogRequestStart(System.Net.Http.HttpRequestMessage)"/>.</param>
<param name="request">The HTTP request message that was sent.</param>
<param name="response">The HTTP response message that was received.</param>
<param name="elapsed">Time elapsed since calling <see cref="M:Microsoft.Extensions.Http.Logging.IHttpClientLogger.LogRequestStart(System.Net.Http.HttpRequestMessage)"/>.</param>
</member>
<member name="M:Microsoft.Extensions.Http.Logging.IHttpClientLogger.LogRequestFailed(System.Object,System.Net.Http.HttpRequestMessage,System.Net.Http.HttpResponseMessage,System.Exception,System.TimeSpan)">
<summary>
Logs the exception happened while sending an HTTP request.
</summary>
<param name="context">The context object that was previously returned by <see cref="M:Microsoft.Extensions.Http.Logging.IHttpClientLogger.LogRequestStart(System.Net.Http.HttpRequestMessage)"/>.</param>
<param name="request">The HTTP request message that was sent.</param>
<param name="response">If available, the HTTP response message that was received, and <see langword="null" /> otherwise.</param>
<param name="exception">Exception that happened during processing the HTTP request.</param>
<param name="elapsed">Time elapsed since calling <see cref="M:Microsoft.Extensions.Http.Logging.IHttpClientLogger.LogRequestStart(System.Net.Http.HttpRequestMessage)"/>.</param>
</member>
<member name="T:Microsoft.Extensions.Http.Logging.LoggingHttpMessageHandler">
<summary>
Handles logging of the lifecycle for an HTTP request.
</summary>
</member>
<member name="M:Microsoft.Extensions.Http.Logging.LoggingHttpMessageHandler.#ctor(Microsoft.Extensions.Logging.ILogger)">
<summary>
Initializes a new instance of the <see cref="T:Microsoft.Extensions.Http.Logging.LoggingHttpMessageHandler"/> class with a specified logger.
</summary>
<param name="logger">The <see cref="T:Microsoft.Extensions.Logging.ILogger"/> to log to.</param>
<exception cref="T:System.ArgumentNullException"><paramref name="logger"/> is <see langword="null"/>.</exception>
</member>
<member name="M:Microsoft.Extensions.Http.Logging.LoggingHttpMessageHandler.#ctor(Microsoft.Extensions.Logging.ILogger,Microsoft.Extensions.Http.HttpClientFactoryOptions)">
<summary>
Initializes a new instance of the <see cref="T:Microsoft.Extensions.Http.Logging.LoggingHttpMessageHandler"/> class with a specified logger and options.
</summary>
<param name="logger">The <see cref="T:Microsoft.Extensions.Logging.ILogger"/> to log to.</param>
<param name="options">The <see cref="T:Microsoft.Extensions.Http.HttpClientFactoryOptions"/> used to configure the <see cref="T:Microsoft.Extensions.Http.Logging.LoggingHttpMessageHandler"/> instance.</param>
<exception cref="T:System.ArgumentNullException"><paramref name="logger"/> or <paramref name="options"/> is <see langword="null"/>.</exception>
</member>
<member name="M:Microsoft.Extensions.Http.Logging.LoggingHttpMessageHandler.SendAsync(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken)">
<inheritdoc />
<remarks>Logs the request to and response from the sent <see cref="T:System.Net.Http.HttpRequestMessage"/>.</remarks>
</member>
<member name="T:Microsoft.Extensions.Http.Logging.LoggingScopeHttpMessageHandler">
<summary>
Handles logging of the lifecycle for an HTTP request within a log scope.
</summary>
</member>
<member name="M:Microsoft.Extensions.Http.Logging.LoggingScopeHttpMessageHandler.#ctor(Microsoft.Extensions.Logging.ILogger)">
<summary>
Initializes a new instance of the <see cref="T:Microsoft.Extensions.Http.Logging.LoggingScopeHttpMessageHandler"/> class with a specified logger.
</summary>
<param name="logger">The <see cref="T:Microsoft.Extensions.Logging.ILogger"/> to log to.</param>
<exception cref="T:System.ArgumentNullException"><paramref name="logger"/> is <see langword="null"/>.</exception>
</member>
<member name="M:Microsoft.Extensions.Http.Logging.LoggingScopeHttpMessageHandler.#ctor(Microsoft.Extensions.Logging.ILogger,Microsoft.Extensions.Http.HttpClientFactoryOptions)">
<summary>
Initializes a new instance of the <see cref="T:Microsoft.Extensions.Http.Logging.LoggingScopeHttpMessageHandler"/> class with a specified logger and options.
</summary>
<param name="logger">The <see cref="T:Microsoft.Extensions.Logging.ILogger"/> to log to.</param>
<param name="options">The <see cref="T:Microsoft.Extensions.Http.HttpClientFactoryOptions"/> used to configure the <see cref="T:Microsoft.Extensions.Http.Logging.LoggingScopeHttpMessageHandler"/> instance.</param>
<exception cref="T:System.ArgumentNullException"><paramref name="logger"/> or <paramref name="options"/> is <see langword="null"/>.</exception>
</member>
<member name="M:Microsoft.Extensions.Http.Logging.LoggingScopeHttpMessageHandler.SendAsync(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken)">
<inheritdoc />
<remarks>Logs the request to and response from the sent <see cref="T:System.Net.Http.HttpRequestMessage"/>.</remarks>
</member>
<member name="T:Microsoft.Extensions.DependencyInjection.HttpClientBuilderExtensions">
<summary>
Extension methods for configuring an <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/>.
</summary>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.HttpClientBuilderExtensions.ConfigureHttpClient(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action{System.Net.Http.HttpClient})">
<summary>
Adds a delegate that will be used to configure a named <see cref="T:System.Net.Http.HttpClient"/>.
</summary>
<param name="builder">The <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/>.</param>
<param name="configureClient">A delegate that is used to configure an <see cref="T:System.Net.Http.HttpClient"/>.</param>
<returns>An <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/> that can be used to configure the client.</returns>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.HttpClientBuilderExtensions.ConfigureHttpClient(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action{System.IServiceProvider,System.Net.Http.HttpClient})">
<summary>
Adds a delegate that will be used to configure a named <see cref="T:System.Net.Http.HttpClient"/>.
</summary>
<param name="builder">The <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/>.</param>
<param name="configureClient">A delegate that is used to configure an <see cref="T:System.Net.Http.HttpClient"/>.</param>
<returns>An <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/> that can be used to configure the client.</returns>
<remarks>
The <see cref="T:System.IServiceProvider"/> provided to <paramref name="configureClient"/> will be the
same application's root service provider instance.
</remarks>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.HttpClientBuilderExtensions.AddHttpMessageHandler(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func{System.Net.Http.DelegatingHandler})">
<summary>
Adds a delegate that will be used to create an additional message handler for a named <see cref="T:System.Net.Http.HttpClient"/>.
</summary>
<param name="builder">The <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/>.</param>
<param name="configureHandler">A delegate that is used to create a <see cref="T:System.Net.Http.DelegatingHandler"/>.</param>
<returns>An <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/> that can be used to configure the client.</returns>
<remarks>
The <paramref name="configureHandler"/> delegate should return a new instance of the message handler each time it
is invoked.
</remarks>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.HttpClientBuilderExtensions.AddHttpMessageHandler(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func{System.IServiceProvider,System.Net.Http.DelegatingHandler})">
<summary>
Adds a delegate that will be used to create an additional message handler for a named <see cref="T:System.Net.Http.HttpClient"/>.
</summary>
<param name="builder">The <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/>.</param>
<param name="configureHandler">A delegate that is used to create a <see cref="T:System.Net.Http.DelegatingHandler"/>.</param>
<returns>An <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/> that can be used to configure the client.</returns>
<remarks>
<para>
The <paramref name="configureHandler"/> delegate should return a new instance of the message handler each time it
is invoked.
</para>
<para>
The <see cref="T:System.IServiceProvider"/> argument provided to <paramref name="configureHandler"/> will be
a reference to a scoped service provider that shares the lifetime of the handler being constructed.
</para>
</remarks>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.HttpClientBuilderExtensions.AddHttpMessageHandler``1(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder)">
<summary>
Adds an additional message handler from the dependency injection container for a named <see cref="T:System.Net.Http.HttpClient"/>.
</summary>
<param name="builder">The <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/>.</param>
<returns>An <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/> that can be used to configure the client.</returns>
<typeparam name="THandler">
The type of the <see cref="T:System.Net.Http.DelegatingHandler"/>. The handler type must be registered as a transient service.
</typeparam>
<remarks>
<para>
The <typeparamref name="THandler"/> will be resolved from a scoped service provider that shares
the lifetime of the handler being constructed.
</para>
</remarks>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.HttpClientBuilderExtensions.ConfigurePrimaryHttpMessageHandler(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func{System.Net.Http.HttpMessageHandler})">
<summary>
Adds a delegate that will be used to configure the primary <see cref="T:System.Net.Http.HttpMessageHandler"/> for a
named <see cref="T:System.Net.Http.HttpClient"/>.
</summary>
<param name="builder">The <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/>.</param>
<param name="configureHandler">A delegate that is used to create an <see cref="T:System.Net.Http.HttpMessageHandler"/>.</param>
<returns>An <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/> that can be used to configure the client.</returns>
<remarks>
The <paramref name="configureHandler"/> delegate should return a new instance of the message handler each time it
is invoked.
</remarks>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.HttpClientBuilderExtensions.ConfigurePrimaryHttpMessageHandler(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func{System.IServiceProvider,System.Net.Http.HttpMessageHandler})">
<summary>
Adds a delegate that will be used to configure the primary <see cref="T:System.Net.Http.HttpMessageHandler"/> for a
named <see cref="T:System.Net.Http.HttpClient"/>.
</summary>
<param name="builder">The <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/>.</param>
<param name="configureHandler">A delegate that is used to create an <see cref="T:System.Net.Http.HttpMessageHandler"/>.</param>
<returns>An <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/> that can be used to configure the client.</returns>
<remarks>
<para>
The <paramref name="configureHandler"/> delegate should return a new instance of the message handler each time it
is invoked.
</para>
<para>
The <see cref="T:System.IServiceProvider"/> argument provided to <paramref name="configureHandler"/> will be
a reference to a scoped service provider that shares the lifetime of the handler being constructed.
</para>
</remarks>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.HttpClientBuilderExtensions.ConfigurePrimaryHttpMessageHandler``1(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder)">
<summary>
Configures the primary <see cref="T:System.Net.Http.HttpMessageHandler"/> from the dependency injection container
for a named <see cref="T:System.Net.Http.HttpClient"/>.
</summary>
<param name="builder">The <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/>.</param>
<returns>An <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/> that can be used to configure the client.</returns>
<typeparam name="THandler">
The type of the <see cref="T:System.Net.Http.DelegatingHandler"/>. The handler type must be registered as a transient service.
</typeparam>
<remarks>
<para>
The <typeparamref name="THandler"/> will be resolved from a scoped service provider that shares
the lifetime of the handler being constructed.
</para>
</remarks>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.HttpClientBuilderExtensions.ConfigurePrimaryHttpMessageHandler(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action{System.Net.Http.HttpMessageHandler,System.IServiceProvider})">
<summary>
Adds a delegate that will be used to configure the primary <see cref="T:System.Net.Http.HttpMessageHandler"/> for a
named <see cref="T:System.Net.Http.HttpClient"/>.
</summary>
<param name="builder">The <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/>.</param>
<param name="configureHandler">A delegate that is used to configure a previously set or default primary <see cref="T:System.Net.Http.HttpMessageHandler"/>.</param>
<returns>An <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/> that can be used to configure the client.</returns>
<remarks>
<para>
The <see cref="T:System.IServiceProvider"/> argument provided to <paramref name="configureHandler"/> will be
a reference to a scoped service provider that shares the lifetime of the handler being constructed.
</para>
</remarks>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.HttpClientBuilderExtensions.ConfigureHttpMessageHandlerBuilder(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action{Microsoft.Extensions.Http.HttpMessageHandlerBuilder})">
<summary>
Adds a delegate that will be used to configure message handlers using <see cref="T:Microsoft.Extensions.Http.HttpMessageHandlerBuilder"/>
for a named <see cref="T:System.Net.Http.HttpClient"/>.
</summary>
<param name="builder">The <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/>.</param>
<param name="configureBuilder">A delegate that is used to configure an <see cref="T:Microsoft.Extensions.Http.HttpMessageHandlerBuilder"/>.</param>
<returns>An <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/> that can be used to configure the client.</returns>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.HttpClientBuilderExtensions.AddTypedClient``1(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder)">
<summary>
Configures a binding between the <typeparamref name="TClient" /> type and the named <see cref="T:System.Net.Http.HttpClient"/>
associated with the <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/>.
</summary>
<typeparam name="TClient">
The type of the typed client. The type specified will be registered in the service collection as
a transient service. See <see cref="T:Microsoft.Extensions.Http.ITypedHttpClientFactory`1" /> for more details about authoring typed clients.
</typeparam>
<param name="builder">The <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/>.</param>
<remarks>
<para>
<typeparamref name="TClient"/> instances constructed with the appropriate <see cref="T:System.Net.Http.HttpClient" />
can be retrieved from <see cref="M:System.IServiceProvider.GetService(System.Type)" /> (and related methods) by providing
<typeparamref name="TClient"/> as the service type.
</para>
<para>
Calling <see cref="M:Microsoft.Extensions.DependencyInjection.HttpClientBuilderExtensions.AddTypedClient``1(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder)"/> will register a typed
client binding that creates <typeparamref name="TClient"/> using the <see cref="T:Microsoft.Extensions.Http.ITypedHttpClientFactory`1" />.
</para>
<para>
The typed client's service dependencies will be resolved from the same service provider
that is used to resolve the typed client. It is not possible to access services from the
scope bound to the message handler, which is managed independently.
</para>
</remarks>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.HttpClientBuilderExtensions.AddTypedClient``2(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder)">
<summary>
Configures a binding between the <typeparamref name="TClient" /> type and the named <see cref="T:System.Net.Http.HttpClient"/>
associated with the <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/>. The created instances will be of type
<typeparamref name="TImplementation"/>.
</summary>
<typeparam name="TClient">
The declared type of the typed client. They type specified will be registered in the service collection as
a transient service. See <see cref="T:Microsoft.Extensions.Http.ITypedHttpClientFactory`1" /> for more details about authoring typed clients.
</typeparam>
<typeparam name="TImplementation">
The implementation type of the typed client. The type specified by will be instantiated by the
<see cref="T:Microsoft.Extensions.Http.ITypedHttpClientFactory`1"/>.
</typeparam>
<param name="builder">The <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/>.</param>
<remarks>
<para>
<typeparamref name="TClient"/> instances constructed with the appropriate <see cref="T:System.Net.Http.HttpClient" />
can be retrieved from <see cref="M:System.IServiceProvider.GetService(System.Type)" /> (and related methods) by providing
<typeparamref name="TClient"/> as the service type.
</para>
<para>
Calling <see cref="M:Microsoft.Extensions.DependencyInjection.HttpClientBuilderExtensions.AddTypedClient``2(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder)"/>
will register a typed client binding that creates <typeparamref name="TImplementation"/> using the
<see cref="T:Microsoft.Extensions.Http.ITypedHttpClientFactory`1" />.
</para>
<para>
The typed client's service dependencies will be resolved from the same service provider
that is used to resolve the typed client. It is not possible to access services from the
scope bound to the message handler, which is managed independently.
</para>
</remarks>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.HttpClientBuilderExtensions.AddTypedClient``1(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func{System.Net.Http.HttpClient,``0})">
<summary>
Configures a binding between the <typeparamref name="TClient" /> type and the named <see cref="T:System.Net.Http.HttpClient"/>
associated with the <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/>.
</summary>
<typeparam name="TClient">
The type of the typed client. They type specified will be registered in the service collection as
a transient service.
</typeparam>
<param name="builder">The <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/>.</param>
<param name="factory">A factory function that will be used to construct the typed client.</param>
<remarks>
<para>
<typeparamref name="TClient"/> instances constructed with the appropriate <see cref="T:System.Net.Http.HttpClient" />
can be retrieved from <see cref="M:System.IServiceProvider.GetService(System.Type)" /> (and related methods) by providing
<typeparamref name="TClient"/> as the service type.
</para>
<para>
Calling <see cref="M:Microsoft.Extensions.DependencyInjection.HttpClientBuilderExtensions.AddTypedClient``1(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func{System.Net.Http.HttpClient,``0})"/>
will register a typed client binding that creates <typeparamref name="TClient"/> using the provided factory function.
</para>
</remarks>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.HttpClientBuilderExtensions.AddTypedClient``1(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func{System.Net.Http.HttpClient,System.IServiceProvider,``0})">
<summary>
Configures a binding between the <typeparamref name="TClient" /> type and the named <see cref="T:System.Net.Http.HttpClient"/>
associated with the <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/>.
</summary>
<typeparam name="TClient">
The type of the typed client. They type specified will be registered in the service collection as
a transient service.
</typeparam>
<param name="builder">The <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/>.</param>
<param name="factory">A factory function that will be used to construct the typed client.</param>
<remarks>
<para>
<typeparamref name="TClient"/> instances constructed with the appropriate <see cref="T:System.Net.Http.HttpClient" />
can be retrieved from <see cref="M:System.IServiceProvider.GetService(System.Type)" /> (and related methods) by providing
<typeparamref name="TClient"/> as the service type.
</para>
<para>
Calling <see cref="M:Microsoft.Extensions.DependencyInjection.HttpClientBuilderExtensions.AddTypedClient``1(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func{System.Net.Http.HttpClient,System.IServiceProvider,``0})"/>
will register a typed client binding that creates <typeparamref name="TClient"/> using the provided factory function.
</para>
</remarks>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.HttpClientBuilderExtensions.RedactLoggedHeaders(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func{System.String,System.Boolean})">
<summary>
Sets the <see cref="T:System.Func`2"/> which determines whether to redact the HTTP header value given its corresponding header name before logging.
</summary>
<param name="builder">The <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/>.</param>
<param name="shouldRedactHeaderValue">The <see cref="T:System.Func`2"/> which determines whether to redact the HTTP header value given its corresponding header name before logging.</param>
<returns>The <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/>.</returns>
<remarks>The provided <paramref name="shouldRedactHeaderValue"/> predicate will be evaluated for each header name when logging. If the predicate returns <see langword="true"/> then the header value will be replaced with a marker value <c>*</c> in logs; otherwise the header value will be logged.
</remarks>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.HttpClientBuilderExtensions.RedactLoggedHeaders(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Collections.Generic.IEnumerable{System.String})">
<summary>
Sets the collection of HTTP headers names for which values should be redacted before logging.
</summary>
<param name="builder">The <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/>.</param>
<param name="redactedLoggedHeaderNames">The collection of HTTP headers names for which values should be redacted before logging.</param>
<returns>The <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/>.</returns>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.HttpClientBuilderExtensions.SetHandlerLifetime(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.TimeSpan)">
<summary>
Sets the length of time that a <see cref="T:System.Net.Http.HttpMessageHandler"/> instance can be reused. Each named
client can have its own configured handler lifetime value. The default value is two minutes. Set the lifetime to
<see cref="F:System.Threading.Timeout.InfiniteTimeSpan"/> to disable handler expiry.
</summary>
<remarks>
<para>
The default implementation of <see cref="T:System.Net.Http.IHttpClientFactory"/> will pool the <see cref="T:System.Net.Http.HttpMessageHandler"/>
instances created by the factory to reduce resource consumption. This setting configures the amount of time
a handler can be pooled before it is scheduled for removal from the pool and disposal.
</para>
<para>
Pooling of handlers is desirable as each handler typically manages its own underlying HTTP connections; creating
more handlers than necessary can result in connection delays. Some handlers also keep connections open indefinitely
which can prevent the handler from reacting to DNS changes. The value of <paramref name="handlerLifetime"/> should be
chosen with an understanding of the application's requirement to respond to changes in the network environment.
</para>
<para>
Expiry of a handler will not immediately dispose the handler. An expired handler is placed in a separate pool
which is processed at intervals to dispose handlers only when they become unreachable. Using long-lived
<see cref="T:System.Net.Http.HttpClient"/> instances will prevent the underlying <see cref="T:System.Net.Http.HttpMessageHandler"/> from being
disposed until all references are garbage-collected.
</para>
</remarks>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.HttpClientBuilderExtensions.ConfigureAdditionalHttpMessageHandlers(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Action{System.Collections.Generic.IList{System.Net.Http.DelegatingHandler},System.IServiceProvider})">
<summary>
Adds a delegate that will be used to configure additional message handlers using <see cref="T:Microsoft.Extensions.Http.HttpMessageHandlerBuilder"/>
for a named <see cref="T:System.Net.Http.HttpClient"/>.
</summary>
<param name="builder">The <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/>.</param>
<param name="configureAdditionalHandlers">A delegate that is used to configure a collection of <see cref="T:System.Net.Http.DelegatingHandler"/>s.</param>
<returns>An <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/> that can be used to configure the client.</returns>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.HttpClientBuilderExtensions.AddAsKeyed(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,Microsoft.Extensions.DependencyInjection.ServiceLifetime)">
<summary>
Registers a named <see cref="T:System.Net.Http.HttpClient"/> and the related handler pipeline <see cref="T:System.Net.Http.HttpMessageHandler"/> as keyed
services with the client's name as the key, and a lifetime provided in the <paramref name="lifetime" /> parameter.
By default, the lifetime is <see cref="F:Microsoft.Extensions.DependencyInjection.ServiceLifetime.Scoped"/>.
</summary>
<param name="builder">The <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/>.</param>
<param name="lifetime">Lifetime of the keyed services registered.</param>
<returns>An <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/> that can be used to configure the client.</returns>
<remarks>
<para>
A named client resolved from DI as a keyed service will behave similarly to a client you would create with <see cref="M:System.Net.Http.IHttpClientFactory.CreateClient(System.String)"/>. This
means that the client will continue reusing the same <see cref="T:System.Net.Http.HttpMessageHandler"/> instance for the duration of <see cref="P:Microsoft.Extensions.Http.HttpClientFactoryOptions.HandlerLifetime"/>,
and it will continue to use the separate, handler's DI scope instead of the scope it was resolved from.
</para>
<para>
WARNING: Registering the client as a keyed <see cref="F:Microsoft.Extensions.DependencyInjection.ServiceLifetime.Transient"/> service will lead to the <see cref="T:System.Net.Http.HttpClient"/> and <see cref="T:System.Net.Http.HttpMessageHandler"/>
instances being captured by DI as both implement <see cref="T:System.IDisposable"/>. This might lead to memory leaks if the client is resolved multiple times within a
<see cref="F:Microsoft.Extensions.DependencyInjection.ServiceLifetime.Singleton"/> service.
</para>
<para>
WARNING: In case of (1) a keyed <see cref="F:Microsoft.Extensions.DependencyInjection.ServiceLifetime.Singleton"/> <see cref="T:System.Net.Http.HttpClient"/> registration, or (2) a keyed <see cref="F:Microsoft.Extensions.DependencyInjection.ServiceLifetime.Transient"/>
<see cref="T:System.Net.Http.HttpClient"/> injected into a <see cref="F:Microsoft.Extensions.DependencyInjection.ServiceLifetime.Singleton"/> service, or (3) long-running application scopes,
the <see cref="T:System.Net.Http.HttpClient"/> instances will get captured by a singleton or a long-running scope, so they will NOT be able to participate in the handler rotation,
which can result in the loss of DNS changes. (This is a similar issue to the one with Typed Clients, that are registered as <see cref="F:Microsoft.Extensions.DependencyInjection.ServiceLifetime.Transient"/> services.)
</para>
<para>
If called twice with for a builder with the same name, the lifetime of the keyed service will be updated to the latest used <see cref="T:Microsoft.Extensions.DependencyInjection.ServiceLifetime"/> value.
</para>
<para>
If called for a typed client, only the related named client and handler will be registered as keyed. The typed client itself will continue to be registered as
a transient service.
</para>
<para>
If used in conjunction with <see cref="M:Microsoft.Extensions.DependencyInjection.HttpClientFactoryServiceCollectionExtensions.ConfigureHttpClientDefaults(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action{Microsoft.Extensions.DependencyInjection.IHttpClientBuilder})"/>,
the key <see cref="P:Microsoft.Extensions.DependencyInjection.KeyedService.AnyKey"/> is used, so any named <see cref="T:System.Net.Http.HttpClient"/> instance will be resolvable as a keyed service (unless explicitly opted-out
from the keyed registration via <see cref="M:Microsoft.Extensions.DependencyInjection.HttpClientBuilderExtensions.RemoveAsKeyed(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder)"/>).
</para>
</remarks>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.HttpClientBuilderExtensions.RemoveAsKeyed(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder)">
<summary>
Removes the keyed registrations for the named <see cref="T:System.Net.Http.HttpClient"/> and <see cref="T:System.Net.Http.HttpMessageHandler"/>.
</summary>
<param name="builder">The <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/>.</param>
<returns>An <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/> that can be used to configure the client.</returns>
<remarks>
<para>
If used in conjunction with <see cref="M:Microsoft.Extensions.DependencyInjection.HttpClientFactoryServiceCollectionExtensions.ConfigureHttpClientDefaults(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action{Microsoft.Extensions.DependencyInjection.IHttpClientBuilder})"/>,
it will only affect the previous "global" <see cref="P:Microsoft.Extensions.DependencyInjection.KeyedService.AnyKey"/> registration, and won't affect the clients registered for a specific name
with <see cref="M:Microsoft.Extensions.DependencyInjection.HttpClientBuilderExtensions.AddAsKeyed(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,Microsoft.Extensions.DependencyInjection.ServiceLifetime)"/>.
</para>
</remarks>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.HttpClientBuilderExtensions.AddLogger(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func{System.IServiceProvider,Microsoft.Extensions.Http.Logging.IHttpClientLogger},System.Boolean)">
<summary>
Adds a delegate that will be used to create an additional logger for a named <see cref="T:System.Net.Http.HttpClient"/>. The custom logger would be invoked
from a dedicated logging DelegatingHandler on every request of the corresponding named <see cref="T:System.Net.Http.HttpClient"/>.
</summary>
<param name="builder">The <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/>.</param>
<param name="httpClientLoggerFactory">A delegate that is used to create a custom logger. The logger should implement
<see cref="T:Microsoft.Extensions.Http.Logging.IHttpClientLogger"/> or <see cref="T:Microsoft.Extensions.Http.Logging.IHttpClientAsyncLogger"/>.</param>
<param name="wrapHandlersPipeline">Whether the logging handler with the custom logger would be added to the top
or to the bottom of the additional handlers chains.</param>
<returns>An <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/> that can be used to configure the client.</returns>
<remarks>
<para>
If the <paramref name="wrapHandlersPipeline"/> is `true`, <see cref="M:Microsoft.Extensions.Http.Logging.IHttpClientLogger.LogRequestStart(System.Net.Http.HttpRequestMessage)"/> and
<see cref="M:Microsoft.Extensions.Http.Logging.IHttpClientAsyncLogger.LogRequestStartAsync(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken)"/> would be executed before all
other additional handlers in the chain. <see cref="M:Microsoft.Extensions.Http.Logging.IHttpClientLogger.LogRequestStop(System.Object,System.Net.Http.HttpRequestMessage,System.Net.Http.HttpResponseMessage,System.TimeSpan)"/> and
<see cref="M:Microsoft.Extensions.Http.Logging.IHttpClientAsyncLogger.LogRequestStopAsync(System.Object,System.Net.Http.HttpRequestMessage,System.Net.Http.HttpResponseMessage,System.TimeSpan,System.Threading.CancellationToken)"/> would be executed after all
other additional handlers, essentially wrapping the whole pipeline.
</para>
<para>
If the <paramref name="wrapHandlersPipeline"/> is `false`, <see cref="M:Microsoft.Extensions.Http.Logging.IHttpClientLogger.LogRequestStart(System.Net.Http.HttpRequestMessage)"/> and
<see cref="M:Microsoft.Extensions.Http.Logging.IHttpClientAsyncLogger.LogRequestStartAsync(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken)"/> would be executed after all
other additional handlers in the chain, right before the primary handler. <see cref="M:Microsoft.Extensions.Http.Logging.IHttpClientLogger.LogRequestStop(System.Object,System.Net.Http.HttpRequestMessage,System.Net.Http.HttpResponseMessage,System.TimeSpan)"/> and
<see cref="M:Microsoft.Extensions.Http.Logging.IHttpClientAsyncLogger.LogRequestStopAsync(System.Object,System.Net.Http.HttpRequestMessage,System.Net.Http.HttpResponseMessage,System.TimeSpan,System.Threading.CancellationToken)"/> would be executed before all
other additional handlers, right after the primary handler.
</para>
<para>
The <see cref="T:System.IServiceProvider"/> argument provided to <paramref name="httpClientLoggerFactory"/> will be
a reference to a scoped service provider that shares the lifetime of the handler chain being constructed.
</para>
<para>
If <see cref="M:Microsoft.Extensions.DependencyInjection.HttpClientBuilderExtensions.AddLogger(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func{System.IServiceProvider,Microsoft.Extensions.Http.Logging.IHttpClientLogger},System.Boolean)"/> is called multiple times, multiple loggers would be added. If <see cref="M:Microsoft.Extensions.DependencyInjection.HttpClientBuilderExtensions.RemoveAllLoggers(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder)"/> was
not called before calling <see cref="M:Microsoft.Extensions.DependencyInjection.HttpClientBuilderExtensions.AddLogger(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Func{System.IServiceProvider,Microsoft.Extensions.Http.Logging.IHttpClientLogger},System.Boolean)"/>, then new logger would be added in addition to the default ones.
</para>
</remarks>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.HttpClientBuilderExtensions.AddLogger``1(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Boolean)">
<summary>
Adds a delegate that will be used to create an additional logger for a named <see cref="T:System.Net.Http.HttpClient"/>. The custom logger would be invoked
from a dedicated logging DelegatingHandler on every request of the corresponding named <see cref="T:System.Net.Http.HttpClient"/>.
</summary>
<param name="builder">The <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/>.</param>
<param name="wrapHandlersPipeline">Whether the logging handler with the custom logger would be added to the top
or to the bottom of the additional handlers chains.</param>
<returns>An <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/> that can be used to configure the client.</returns>
<typeparam name="TLogger">
The service type of the custom logger as it was registered in DI. The logger should implement <see cref="T:Microsoft.Extensions.Http.Logging.IHttpClientLogger"/>
or <see cref="T:Microsoft.Extensions.Http.Logging.IHttpClientAsyncLogger"/>.
</typeparam>
<remarks>
<para>
If the <paramref name="wrapHandlersPipeline"/> is `true`, <see cref="M:Microsoft.Extensions.Http.Logging.IHttpClientLogger.LogRequestStart(System.Net.Http.HttpRequestMessage)"/> and
<see cref="M:Microsoft.Extensions.Http.Logging.IHttpClientAsyncLogger.LogRequestStartAsync(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken)"/> would be executed before all
other additional handlers in the chain. <see cref="M:Microsoft.Extensions.Http.Logging.IHttpClientLogger.LogRequestStop(System.Object,System.Net.Http.HttpRequestMessage,System.Net.Http.HttpResponseMessage,System.TimeSpan)"/> and
<see cref="M:Microsoft.Extensions.Http.Logging.IHttpClientAsyncLogger.LogRequestStopAsync(System.Object,System.Net.Http.HttpRequestMessage,System.Net.Http.HttpResponseMessage,System.TimeSpan,System.Threading.CancellationToken)"/> would be executed after all
other additional handlers, essentially wrapping the whole pipeline.
</para>
<para>
If the <paramref name="wrapHandlersPipeline"/> is `false`, <see cref="M:Microsoft.Extensions.Http.Logging.IHttpClientLogger.LogRequestStart(System.Net.Http.HttpRequestMessage)"/> and
<see cref="M:Microsoft.Extensions.Http.Logging.IHttpClientAsyncLogger.LogRequestStartAsync(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken)"/> would be executed after all
other additional handlers in the chain, right before the primary handler. <see cref="M:Microsoft.Extensions.Http.Logging.IHttpClientLogger.LogRequestStop(System.Object,System.Net.Http.HttpRequestMessage,System.Net.Http.HttpResponseMessage,System.TimeSpan)"/> and
<see cref="M:Microsoft.Extensions.Http.Logging.IHttpClientAsyncLogger.LogRequestStopAsync(System.Object,System.Net.Http.HttpRequestMessage,System.Net.Http.HttpResponseMessage,System.TimeSpan,System.Threading.CancellationToken)"/> would be executed before all
other additional handlers, right after the primary handler.
</para>
<para>
The <typeparamref name="TLogger"/> will be resolved from a scoped service provider that shares
the lifetime of the handler chain being constructed.
</para>
<para>
If <see cref="M:Microsoft.Extensions.DependencyInjection.HttpClientBuilderExtensions.AddLogger``1(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Boolean)"/> is called multiple times, multiple loggers would be added. If <see cref="M:Microsoft.Extensions.DependencyInjection.HttpClientBuilderExtensions.RemoveAllLoggers(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder)"/> was
not called before calling <see cref="M:Microsoft.Extensions.DependencyInjection.HttpClientBuilderExtensions.AddLogger``1(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Boolean)"/>, then new logger would be added in addition to the default ones.
</para>
</remarks>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.HttpClientBuilderExtensions.RemoveAllLoggers(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder)">
<summary>
Removes all previously added loggers for a named <see cref="T:System.Net.Http.HttpClient"/>, including default ones.
</summary>
<param name="builder">The <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/>.</param>
<returns>An <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/> that can be used to configure the client.</returns>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.HttpClientBuilderExtensions.AddDefaultLogger(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder)">
<summary>
Adds back the default logging for a named <see cref="T:System.Net.Http.HttpClient"/>, if it was removed previously by calling <see cref="M:Microsoft.Extensions.DependencyInjection.HttpClientBuilderExtensions.RemoveAllLoggers(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder)"/>.
</summary>
<param name="builder">The <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/>.</param>
<returns>An <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/> that can be used to configure the client.</returns>
</member>
<member name="T:Microsoft.Extensions.DependencyInjection.HttpClientFactoryServiceCollectionExtensions">
<summary>
Extension methods to configure an <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> for <see cref="T:System.Net.Http.IHttpClientFactory"/>.
</summary>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.HttpClientFactoryServiceCollectionExtensions.AddHttpClient(Microsoft.Extensions.DependencyInjection.IServiceCollection)">
<summary>
Adds the <see cref="T:System.Net.Http.IHttpClientFactory"/> and related services to the <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/>.
</summary>
<param name="services">The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/>.</param>
<returns>The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/>.</returns>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.HttpClientFactoryServiceCollectionExtensions.ConfigureHttpClientDefaults(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action{Microsoft.Extensions.DependencyInjection.IHttpClientBuilder})">
<summary>
Adds a delegate that will be used to configure all <see cref="T:System.Net.Http.HttpClient"/> instances.
</summary>
<param name="services">The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/>.</param>
<param name="configure">A delegate that is used to configure an <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/>.</param>
<returns>The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/>.</returns>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.HttpClientFactoryServiceCollectionExtensions.AddHttpClient(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String)">
<summary>
Adds the <see cref="T:System.Net.Http.IHttpClientFactory"/> and related services to the <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> and configures
a named <see cref="T:System.Net.Http.HttpClient"/>.
</summary>
<param name="services">The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/>.</param>
<param name="name">The logical name of the <see cref="T:System.Net.Http.HttpClient"/> to configure.</param>
<returns>An <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/> that can be used to configure the client.</returns>
<remarks>
<para>
<see cref="T:System.Net.Http.HttpClient"/> instances that apply the provided configuration can be retrieved using
<see cref="M:System.Net.Http.IHttpClientFactory.CreateClient(System.String)"/> and providing the matching name.
</para>
<para>
Use <see cref="F:Microsoft.Extensions.Options.Options.DefaultName"/> as the name to configure the default client.
</para>
</remarks>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.HttpClientFactoryServiceCollectionExtensions.AddHttpClient(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,System.Action{System.Net.Http.HttpClient})">
<summary>
Adds the <see cref="T:System.Net.Http.IHttpClientFactory"/> and related services to the <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> and configures
a named <see cref="T:System.Net.Http.HttpClient"/>.
</summary>
<param name="services">The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/>.</param>
<param name="name">The logical name of the <see cref="T:System.Net.Http.HttpClient"/> to configure.</param>
<param name="configureClient">A delegate that is used to configure an <see cref="T:System.Net.Http.HttpClient"/>.</param>
<returns>An <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/> that can be used to configure the client.</returns>
<remarks>
<para>
<see cref="T:System.Net.Http.HttpClient"/> instances that apply the provided configuration can be retrieved using
<see cref="M:System.Net.Http.IHttpClientFactory.CreateClient(System.String)"/> and providing the matching name.
</para>
<para>
Use <see cref="F:Microsoft.Extensions.Options.Options.DefaultName"/> as the name to configure the default client.
</para>
</remarks>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.HttpClientFactoryServiceCollectionExtensions.AddHttpClient(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,System.Action{System.IServiceProvider,System.Net.Http.HttpClient})">
<summary>
Adds the <see cref="T:System.Net.Http.IHttpClientFactory"/> and related services to the <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> and configures
a named <see cref="T:System.Net.Http.HttpClient"/>.
</summary>
<param name="services">The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/>.</param>
<param name="name">The logical name of the <see cref="T:System.Net.Http.HttpClient"/> to configure.</param>
<param name="configureClient">A delegate that is used to configure an <see cref="T:System.Net.Http.HttpClient"/>.</param>
<returns>An <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/> that can be used to configure the client.</returns>
<remarks>
<para>
<see cref="T:System.Net.Http.HttpClient"/> instances that apply the provided configuration can be retrieved using
<see cref="M:System.Net.Http.IHttpClientFactory.CreateClient(System.String)"/> and providing the matching name.
</para>
<para>
Use <see cref="F:Microsoft.Extensions.Options.Options.DefaultName"/> as the name to configure the default client.
</para>
</remarks>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.HttpClientFactoryServiceCollectionExtensions.AddHttpClient``1(Microsoft.Extensions.DependencyInjection.IServiceCollection)">
<summary>
Adds the <see cref="T:System.Net.Http.IHttpClientFactory"/> and related services to the <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> and configures
a binding between the <typeparamref name="TClient"/> type and a named <see cref="T:System.Net.Http.HttpClient"/>. The client name
will be set to the type name of <typeparamref name="TClient"/>.
</summary>
<typeparam name="TClient">
The type of the typed client. The type specified will be registered in the service collection as
a transient service. See <see cref="T:Microsoft.Extensions.Http.ITypedHttpClientFactory`1" /> for more details about authoring typed clients.
</typeparam>
<param name="services">The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/>.</param>
<returns>An <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/> that can be used to configure the client.</returns>
<remarks>
<para>
<see cref="T:System.Net.Http.HttpClient"/> instances that apply the provided configuration can be retrieved using
<see cref="M:System.Net.Http.IHttpClientFactory.CreateClient(System.String)"/> and providing the matching name.
</para>
<para>
<typeparamref name="TClient"/> instances constructed with the appropriate <see cref="T:System.Net.Http.HttpClient" />
can be retrieved from <see cref="M:System.IServiceProvider.GetService(System.Type)" /> (and related methods) by providing
<typeparamref name="TClient"/> as the service type.
</para>
</remarks>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.HttpClientFactoryServiceCollectionExtensions.AddHttpClient``2(Microsoft.Extensions.DependencyInjection.IServiceCollection)">
<summary>
Adds the <see cref="T:System.Net.Http.IHttpClientFactory"/> and related services to the <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> and configures
a binding between the <typeparamref name="TClient" /> type and a named <see cref="T:System.Net.Http.HttpClient"/>. The client name will
be set to the type name of <typeparamref name="TClient"/>.
</summary>
<typeparam name="TClient">
The type of the typed client. The type specified will be registered in the service collection as
a transient service. See <see cref="T:Microsoft.Extensions.Http.ITypedHttpClientFactory`1" /> for more details about authoring typed clients.
</typeparam>
<typeparam name="TImplementation">
The implementation type of the typed client. The type specified will be instantiated by the
<see cref="T:Microsoft.Extensions.Http.ITypedHttpClientFactory`1"/>.
</typeparam>
<param name="services">The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/>.</param>
<returns>An <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/> that can be used to configure the client.</returns>
<remarks>
<para>
<see cref="T:System.Net.Http.HttpClient"/> instances that apply the provided configuration can be retrieved using
<see cref="M:System.Net.Http.IHttpClientFactory.CreateClient(System.String)"/> and providing the matching name.
</para>
<para>
<typeparamref name="TClient"/> instances constructed with the appropriate <see cref="T:System.Net.Http.HttpClient" />
can be retrieved from <see cref="M:System.IServiceProvider.GetService(System.Type)" /> (and related methods) by providing
<typeparamref name="TClient"/> as the service type.
</para>
</remarks>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.HttpClientFactoryServiceCollectionExtensions.AddHttpClient``1(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String)">
<summary>
Adds the <see cref="T:System.Net.Http.IHttpClientFactory"/> and related services to the <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> and configures
a binding between the <typeparamref name="TClient"/> type and a named <see cref="T:System.Net.Http.HttpClient"/>.
</summary>
<typeparam name="TClient">
The type of the typed client. The type specified will be registered in the service collection as
a transient service. See <see cref="T:Microsoft.Extensions.Http.ITypedHttpClientFactory`1" /> for more details about authoring typed clients.
</typeparam>
<param name="services">The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/>.</param>
<param name="name">The logical name of the <see cref="T:System.Net.Http.HttpClient"/> to configure.</param>
<returns>An <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/> that can be used to configure the client.</returns>
<remarks>
<para>
<see cref="T:System.Net.Http.HttpClient"/> instances that apply the provided configuration can be retrieved using
<see cref="M:System.Net.Http.IHttpClientFactory.CreateClient(System.String)"/> and providing the matching name.
</para>
<para>
<typeparamref name="TClient"/> instances constructed with the appropriate <see cref="T:System.Net.Http.HttpClient" />
can be retrieved from <see cref="M:System.IServiceProvider.GetService(System.Type)" /> (and related methods) by providing
<typeparamref name="TClient"/> as the service type.
</para>
<para>
Use <see cref="F:Microsoft.Extensions.Options.Options.DefaultName"/> as the name to configure the default client.
</para>
</remarks>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.HttpClientFactoryServiceCollectionExtensions.AddHttpClient``2(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String)">
<summary>
Adds the <see cref="T:System.Net.Http.IHttpClientFactory"/> and related services to the <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> and configures
a binding between the <typeparamref name="TClient" /> type and a named <see cref="T:System.Net.Http.HttpClient"/>.
</summary>
<typeparam name="TClient">
The type of the typed client. The type specified will be registered in the service collection as
a transient service. See <see cref="T:Microsoft.Extensions.Http.ITypedHttpClientFactory`1" /> for more details about authoring typed clients.
</typeparam>
<typeparam name="TImplementation">
The implementation type of the typed client. The type specified will be instantiated by the
<see cref="T:Microsoft.Extensions.Http.ITypedHttpClientFactory`1"/>.
</typeparam>
<param name="services">The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/>.</param>
<param name="name">The logical name of the <see cref="T:System.Net.Http.HttpClient"/> to configure.</param>
<returns>An <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/> that can be used to configure the client.</returns>
<remarks>
<para>
<see cref="T:System.Net.Http.HttpClient"/> instances that apply the provided configuration can be retrieved using
<see cref="M:System.Net.Http.IHttpClientFactory.CreateClient(System.String)"/> and providing the matching name.
</para>
<para>
<typeparamref name="TClient"/> instances constructed with the appropriate <see cref="T:System.Net.Http.HttpClient" />
can be retrieved from <see cref="M:System.IServiceProvider.GetService(System.Type)" /> (and related methods) by providing
<typeparamref name="TClient"/> as the service type.
</para>
<para>
Use <see cref="F:Microsoft.Extensions.Options.Options.DefaultName"/> as the name to configure the default client.
</para>
</remarks>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.HttpClientFactoryServiceCollectionExtensions.AddHttpClient``1(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action{System.Net.Http.HttpClient})">
<summary>
Adds the <see cref="T:System.Net.Http.IHttpClientFactory"/> and related services to the <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> and configures
a binding between the <typeparamref name="TClient" /> type and a named <see cref="T:System.Net.Http.HttpClient"/>. The client name will
be set to the type name of <typeparamref name="TClient"/>.
</summary>
<typeparam name="TClient">
The type of the typed client. The type specified will be registered in the service collection as
a transient service. See <see cref="T:Microsoft.Extensions.Http.ITypedHttpClientFactory`1" /> for more details about authoring typed clients.
</typeparam>
<param name="services">The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/>.</param>
<param name="configureClient">A delegate that is used to configure an <see cref="T:System.Net.Http.HttpClient"/>.</param>
<returns>An <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/> that can be used to configure the client.</returns>
<remarks>
<para>
<see cref="T:System.Net.Http.HttpClient"/> instances that apply the provided configuration can be retrieved using
<see cref="M:System.Net.Http.IHttpClientFactory.CreateClient(System.String)"/> and providing the matching name.
</para>
<para>
<typeparamref name="TClient"/> instances constructed with the appropriate <see cref="T:System.Net.Http.HttpClient" />
can be retrieved from <see cref="M:System.IServiceProvider.GetService(System.Type)" /> (and related methods) by providing
<typeparamref name="TClient"/> as the service type.
</para>
</remarks>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.HttpClientFactoryServiceCollectionExtensions.AddHttpClient``1(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action{System.IServiceProvider,System.Net.Http.HttpClient})">
<summary>
Adds the <see cref="T:System.Net.Http.IHttpClientFactory"/> and related services to the <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> and configures
a binding between the <typeparamref name="TClient" /> type and a named <see cref="T:System.Net.Http.HttpClient"/>. The client name will
be set to the type name of <typeparamref name="TClient"/>.
</summary>
<typeparam name="TClient">
The type of the typed client. The type specified will be registered in the service collection as
a transient service. See <see cref="T:Microsoft.Extensions.Http.ITypedHttpClientFactory`1" /> for more details about authoring typed clients.
</typeparam>
<param name="services">The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/>.</param>
<param name="configureClient">A delegate that is used to configure an <see cref="T:System.Net.Http.HttpClient"/>.</param>
<returns>An <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/> that can be used to configure the client.</returns>
<remarks>
<para>
<see cref="T:System.Net.Http.HttpClient"/> instances that apply the provided configuration can be retrieved using
<see cref="M:System.Net.Http.IHttpClientFactory.CreateClient(System.String)"/> and providing the matching name.
</para>
<para>
<typeparamref name="TClient"/> instances constructed with the appropriate <see cref="T:System.Net.Http.HttpClient" />
can be retrieved from <see cref="M:System.IServiceProvider.GetService(System.Type)" /> (and related methods) by providing
<typeparamref name="TClient"/> as the service type.
</para>
</remarks>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.HttpClientFactoryServiceCollectionExtensions.AddHttpClient``2(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action{System.Net.Http.HttpClient})">
<summary>
Adds the <see cref="T:System.Net.Http.IHttpClientFactory"/> and related services to the <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> and configures
a binding between the <typeparamref name="TClient" /> type and a named <see cref="T:System.Net.Http.HttpClient"/>. The client name will
be set to the type name of <typeparamref name="TClient"/>.
</summary>
<typeparam name="TClient">
The type of the typed client. The type specified will be registered in the service collection as
a transient service. See <see cref="T:Microsoft.Extensions.Http.ITypedHttpClientFactory`1" /> for more details about authoring typed clients.
</typeparam>
<typeparam name="TImplementation">
The implementation type of the typed client. The type specified will be instantiated by the
<see cref="T:Microsoft.Extensions.Http.ITypedHttpClientFactory`1"/>.
</typeparam>
<param name="services">The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/>.</param>
<param name="configureClient">A delegate that is used to configure an <see cref="T:System.Net.Http.HttpClient"/>.</param>
<returns>An <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/> that can be used to configure the client.</returns>
<remarks>
<para>
<see cref="T:System.Net.Http.HttpClient"/> instances that apply the provided configuration can be retrieved using
<see cref="M:System.Net.Http.IHttpClientFactory.CreateClient(System.String)"/> and providing the matching name.
</para>
<para>
<typeparamref name="TClient"/> instances constructed with the appropriate <see cref="T:System.Net.Http.HttpClient" />
can be retrieved from <see cref="M:System.IServiceProvider.GetService(System.Type)" /> (and related methods) by providing
<typeparamref name="TClient"/> as the service type.
</para>
</remarks>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.HttpClientFactoryServiceCollectionExtensions.AddHttpClient``2(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action{System.IServiceProvider,System.Net.Http.HttpClient})">
<summary>
Adds the <see cref="T:System.Net.Http.IHttpClientFactory"/> and related services to the <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> and configures
a binding between the <typeparamref name="TClient" /> type and a named <see cref="T:System.Net.Http.HttpClient"/>. The client name will
be set to the type name of <typeparamref name="TClient"/>.
</summary>
<typeparam name="TClient">
The type of the typed client. The type specified will be registered in the service collection as
a transient service. See <see cref="T:Microsoft.Extensions.Http.ITypedHttpClientFactory`1" /> for more details about authoring typed clients.
</typeparam>
<typeparam name="TImplementation">
The implementation type of the typed client. The type specified will be instantiated by the
<see cref="T:Microsoft.Extensions.Http.ITypedHttpClientFactory`1"/>.
</typeparam>
<param name="services">The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/>.</param>
<param name="configureClient">A delegate that is used to configure an <see cref="T:System.Net.Http.HttpClient"/>.</param>
<returns>An <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/> that can be used to configure the client.</returns>
<remarks>
<para>
<see cref="T:System.Net.Http.HttpClient"/> instances that apply the provided configuration can be retrieved using
<see cref="M:System.Net.Http.IHttpClientFactory.CreateClient(System.String)"/> and providing the matching name.
</para>
<para>
<typeparamref name="TClient"/> instances constructed with the appropriate <see cref="T:System.Net.Http.HttpClient" />
can be retrieved from <see cref="M:System.IServiceProvider.GetService(System.Type)" /> (and related methods) by providing
<typeparamref name="TClient"/> as the service type.
</para>
</remarks>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.HttpClientFactoryServiceCollectionExtensions.AddHttpClient``1(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,System.Action{System.Net.Http.HttpClient})">
<summary>
Adds the <see cref="T:System.Net.Http.IHttpClientFactory"/> and related services to the <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> and configures
a binding between the <typeparamref name="TClient" /> type and a named <see cref="T:System.Net.Http.HttpClient"/>.
</summary>
<typeparam name="TClient">
The type of the typed client. The type specified will be registered in the service collection as
a transient service. See <see cref="T:Microsoft.Extensions.Http.ITypedHttpClientFactory`1" /> for more details about authoring typed clients.
</typeparam>
<param name="services">The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/>.</param>
<param name="name">The logical name of the <see cref="T:System.Net.Http.HttpClient"/> to configure.</param>
<param name="configureClient">A delegate that is used to configure an <see cref="T:System.Net.Http.HttpClient"/>.</param>
<returns>An <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/> that can be used to configure the client.</returns>
<remarks>
<para>
<see cref="T:System.Net.Http.HttpClient"/> instances that apply the provided configuration can be retrieved using
<see cref="M:System.Net.Http.IHttpClientFactory.CreateClient(System.String)"/> and providing the matching name.
</para>
<para>
<typeparamref name="TClient"/> instances constructed with the appropriate <see cref="T:System.Net.Http.HttpClient" />
can be retrieved from <see cref="M:System.IServiceProvider.GetService(System.Type)" /> (and related methods) by providing
<typeparamref name="TClient"/> as the service type.
</para>
<para>
Use <see cref="F:Microsoft.Extensions.Options.Options.DefaultName"/> as the name to configure the default client.
</para>
</remarks>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.HttpClientFactoryServiceCollectionExtensions.AddHttpClient``1(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,System.Action{System.IServiceProvider,System.Net.Http.HttpClient})">
<summary>
Adds the <see cref="T:System.Net.Http.IHttpClientFactory"/> and related services to the <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> and configures
a binding between the <typeparamref name="TClient" /> type and a named <see cref="T:System.Net.Http.HttpClient"/>.
</summary>
<typeparam name="TClient">
The type of the typed client. The type specified will be registered in the service collection as
a transient service. See <see cref="T:Microsoft.Extensions.Http.ITypedHttpClientFactory`1" /> for more details about authoring typed clients.
</typeparam>
<param name="services">The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/>.</param>
<param name="name">The logical name of the <see cref="T:System.Net.Http.HttpClient"/> to configure.</param>
<param name="configureClient">A delegate that is used to configure an <see cref="T:System.Net.Http.HttpClient"/>.</param>
<returns>An <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/> that can be used to configure the client.</returns>
<remarks>
<para>
<see cref="T:System.Net.Http.HttpClient"/> instances that apply the provided configuration can be retrieved using
<see cref="M:System.Net.Http.IHttpClientFactory.CreateClient(System.String)"/> and providing the matching name.
</para>
<para>
<typeparamref name="TClient"/> instances constructed with the appropriate <see cref="T:System.Net.Http.HttpClient" />
can be retrieved from <see cref="M:System.IServiceProvider.GetService(System.Type)" /> (and related methods) by providing
<typeparamref name="TClient"/> as the service type.
</para>
<para>
Use <see cref="F:Microsoft.Extensions.Options.Options.DefaultName"/> as the name to configure the default client.
</para>
</remarks>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.HttpClientFactoryServiceCollectionExtensions.AddHttpClient``2(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,System.Action{System.Net.Http.HttpClient})">
<summary>
Adds the <see cref="T:System.Net.Http.IHttpClientFactory"/> and related services to the <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> and configures
a binding between the <typeparamref name="TClient" /> type and a named <see cref="T:System.Net.Http.HttpClient"/>.
</summary>
<typeparam name="TClient">
The type of the typed client. The type specified will be registered in the service collection as
a transient service. See <see cref="T:Microsoft.Extensions.Http.ITypedHttpClientFactory`1" /> for more details about authoring typed clients.
</typeparam>
<typeparam name="TImplementation">
The implementation type of the typed client. The type specified will be instantiated by the
<see cref="T:Microsoft.Extensions.Http.ITypedHttpClientFactory`1"/>.
</typeparam>
<param name="services">The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/>.</param>
<param name="name">The logical name of the <see cref="T:System.Net.Http.HttpClient"/> to configure.</param>
<param name="configureClient">A delegate that is used to configure an <see cref="T:System.Net.Http.HttpClient"/>.</param>
<returns>An <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/> that can be used to configure the client.</returns>
<remarks>
<para>
<see cref="T:System.Net.Http.HttpClient"/> instances that apply the provided configuration can be retrieved using
<see cref="M:System.Net.Http.IHttpClientFactory.CreateClient(System.String)"/> and providing the matching name.
</para>
<para>
<typeparamref name="TClient"/> instances constructed with the appropriate <see cref="T:System.Net.Http.HttpClient" />
can be retrieved from <see cref="M:System.IServiceProvider.GetService(System.Type)" /> (and related methods) by providing
<typeparamref name="TClient"/> as the service type.
</para>
<para>
Use <see cref="F:Microsoft.Extensions.Options.Options.DefaultName"/> as the name to configure the default client.
</para>
</remarks>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.HttpClientFactoryServiceCollectionExtensions.AddHttpClient``2(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,System.Action{System.IServiceProvider,System.Net.Http.HttpClient})">
<summary>
Adds the <see cref="T:System.Net.Http.IHttpClientFactory"/> and related services to the <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> and configures
a binding between the <typeparamref name="TClient" /> type and a named <see cref="T:System.Net.Http.HttpClient"/>.
</summary>
<typeparam name="TClient">
The type of the typed client. The type specified will be registered in the service collection as
a transient service. See <see cref="T:Microsoft.Extensions.Http.ITypedHttpClientFactory`1" /> for more details about authoring typed clients.
</typeparam>
<typeparam name="TImplementation">
The implementation type of the typed client. The type specified will be instantiated by the
<see cref="T:Microsoft.Extensions.Http.ITypedHttpClientFactory`1"/>.
</typeparam>
<param name="services">The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/>.</param>
<param name="name">The logical name of the <see cref="T:System.Net.Http.HttpClient"/> to configure.</param>
<param name="configureClient">A delegate that is used to configure an <see cref="T:System.Net.Http.HttpClient"/>.</param>
<returns>An <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/> that can be used to configure the client.</returns>
<remarks>
<para>
<see cref="T:System.Net.Http.HttpClient"/> instances that apply the provided configuration can be retrieved using
<see cref="M:System.Net.Http.IHttpClientFactory.CreateClient(System.String)"/> and providing the matching name.
</para>
<para>
<typeparamref name="TClient"/> instances constructed with the appropriate <see cref="T:System.Net.Http.HttpClient" />
can be retrieved from <see cref="M:System.IServiceProvider.GetService(System.Type)" /> (and related methods) by providing
<typeparamref name="TClient"/> as the service type.
</para>
<para>
Use <see cref="F:Microsoft.Extensions.Options.Options.DefaultName"/> as the name to configure the default client.
</para>
</remarks>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.HttpClientFactoryServiceCollectionExtensions.AddHttpClient``2(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func{System.Net.Http.HttpClient,``1})">
<summary>
Adds the <see cref="T:System.Net.Http.IHttpClientFactory"/> and related services to the <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> and configures
a binding between the <typeparamref name="TClient" /> type and a named <see cref="T:System.Net.Http.HttpClient"/>.
</summary>
<typeparam name="TClient">
The type of the typed client. The type specified will be registered in the service collection as
a transient service. See <see cref="T:Microsoft.Extensions.Http.ITypedHttpClientFactory`1" /> for more details about authoring typed clients.
</typeparam>
<typeparam name="TImplementation">
The implementation type of the typed client.
</typeparam>
<param name="services">The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/>.</param>
<param name="factory">A delegate that is used to create an instance of <typeparamref name="TClient"/>.</param>
<returns>An <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/> that can be used to configure the client.</returns>
<remarks>
<para>
<see cref="T:System.Net.Http.HttpClient"/> instances that apply the provided configuration can be retrieved using
<see cref="M:System.Net.Http.IHttpClientFactory.CreateClient(System.String)"/> and providing the matching name.
</para>
<para>
<typeparamref name="TClient"/> instances constructed with the appropriate <see cref="T:System.Net.Http.HttpClient" />
can be retrieved from <see cref="M:System.IServiceProvider.GetService(System.Type)" /> (and related methods) by providing
<typeparamref name="TClient"/> as the service type.
</para>
</remarks>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.HttpClientFactoryServiceCollectionExtensions.AddHttpClient``2(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,System.Func{System.Net.Http.HttpClient,``1})">
<summary>
Adds the <see cref="T:System.Net.Http.IHttpClientFactory"/> and related services to the <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> and configures
a binding between the <typeparamref name="TClient" /> type and a named <see cref="T:System.Net.Http.HttpClient"/>.
</summary>
<typeparam name="TClient">
The type of the typed client. The type specified will be registered in the service collection as
a transient service. See <see cref="T:Microsoft.Extensions.Http.ITypedHttpClientFactory`1" /> for more details about authoring typed clients.
</typeparam>
<typeparam name="TImplementation">
The implementation type of the typed client.
</typeparam>
<param name="services">The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/>.</param>
<param name="name">The logical name of the <see cref="T:System.Net.Http.HttpClient"/> to configure.</param>
<param name="factory">A delegate that is used to create an instance of <typeparamref name="TClient"/>.</param>
<returns>An <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/> that can be used to configure the client.</returns>
<remarks>
<para>
<see cref="T:System.Net.Http.HttpClient"/> instances that apply the provided configuration can be retrieved using
<see cref="M:System.Net.Http.IHttpClientFactory.CreateClient(System.String)"/> and providing the matching name.
</para>
<para>
<typeparamref name="TClient"/> instances constructed with the appropriate <see cref="T:System.Net.Http.HttpClient" />
can be retrieved from <see cref="M:System.IServiceProvider.GetService(System.Type)" /> (and related methods) by providing
<typeparamref name="TClient"/> as the service type.
</para>
<typeparamref name="TImplementation">
</typeparamref>
</remarks>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.HttpClientFactoryServiceCollectionExtensions.AddHttpClient``2(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func{System.Net.Http.HttpClient,System.IServiceProvider,``1})">
<summary>
Adds the <see cref="T:System.Net.Http.IHttpClientFactory"/> and related services to the <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> and configures
a binding between the <typeparamref name="TClient" /> type and a named <see cref="T:System.Net.Http.HttpClient"/>.
</summary>
<typeparam name="TClient">
The type of the typed client. The type specified will be registered in the service collection as
a transient service. See <see cref="T:Microsoft.Extensions.Http.ITypedHttpClientFactory`1" /> for more details about authoring typed clients.
</typeparam>
<typeparam name="TImplementation">
The implementation type of the typed client.
</typeparam>
<param name="services">The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/>.</param>
<param name="factory">A delegate that is used to create an instance of <typeparamref name="TClient"/>.</param>
<returns>An <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/> that can be used to configure the client.</returns>
<remarks>
<para>
<see cref="T:System.Net.Http.HttpClient"/> instances that apply the provided configuration can be retrieved using
<see cref="M:System.Net.Http.IHttpClientFactory.CreateClient(System.String)"/> and providing the matching name.
</para>
<para>
<typeparamref name="TClient"/> instances constructed with the appropriate <see cref="T:System.Net.Http.HttpClient" />
can be retrieved from <see cref="M:System.IServiceProvider.GetService(System.Type)" /> (and related methods) by providing
<typeparamref name="TClient"/> as the service type.
</para>
</remarks>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.HttpClientFactoryServiceCollectionExtensions.AddHttpClient``2(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,System.Func{System.Net.Http.HttpClient,System.IServiceProvider,``1})">
<summary>
Adds the <see cref="T:System.Net.Http.IHttpClientFactory"/> and related services to the <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> and configures
a binding between the <typeparamref name="TClient" /> type and a named <see cref="T:System.Net.Http.HttpClient"/>.
</summary>
<typeparam name="TClient">
The type of the typed client. The type specified will be registered in the service collection as
a transient service. See <see cref="T:Microsoft.Extensions.Http.ITypedHttpClientFactory`1" /> for more details about authoring typed clients.
</typeparam>
<typeparam name="TImplementation">
The implementation type of the typed client.
</typeparam>
<param name="services">The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/>.</param>
<param name="name">The logical name of the <see cref="T:System.Net.Http.HttpClient"/> to configure.</param>
<param name="factory">A delegate that is used to create an instance of <typeparamref name="TClient"/>.</param>
<returns>An <see cref="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder"/> that can be used to configure the client.</returns>
<remarks>
<para>
<see cref="T:System.Net.Http.HttpClient"/> instances that apply the provided configuration can be retrieved using
<see cref="M:System.Net.Http.IHttpClientFactory.CreateClient(System.String)"/> and providing the matching name.
</para>
<para>
<typeparamref name="TClient"/> instances constructed with the appropriate <see cref="T:System.Net.Http.HttpClient" />
can be retrieved from <see cref="M:System.IServiceProvider.GetService(System.Type)" /> (and related methods) by providing
<typeparamref name="TClient"/> as the service type.
</para>
</remarks>
</member>
<member name="T:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder">
<summary>
A builder for configuring named <see cref="T:System.Net.Http.HttpClient"/> instances returned by <see cref="T:System.Net.Http.IHttpClientFactory"/>.
</summary>
</member>
<member name="P:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder.Name">
<summary>
Gets the name of the client configured by this builder.
</summary>
</member>
<member name="P:Microsoft.Extensions.DependencyInjection.IHttpClientBuilder.Services">
<summary>
Gets the application service collection.
</summary>
</member>
<member name="M:Microsoft.Extensions.Internal.TypeNameHelper.GetTypeDisplayName(System.Type,System.Boolean,System.Boolean,System.Boolean,System.Char)">
<summary>
Pretty print a type name.
</summary>
<param name="type">The <see cref="T:System.Type"/>.</param>
<param name="fullName"><c>true</c> to print a fully qualified name.</param>
<param name="includeGenericParameterNames"><c>true</c> to include generic parameter names.</param>
<param name="includeGenericParameters"><c>true</c> to include generic parameters.</param>
<param name="nestedTypeDelimiter">Character to use as a delimiter in nested type names</param>
<returns>The pretty printed type name.</returns>
</member>
<member name="T:System.Net.Http.HttpClientFactoryExtensions">
<summary>
Extensions methods for <see cref="T:System.Net.Http.IHttpClientFactory"/>.
</summary>
</member>
<member name="M:System.Net.Http.HttpClientFactoryExtensions.CreateClient(System.Net.Http.IHttpClientFactory)">
<summary>
Creates a new <see cref="T:System.Net.Http.HttpClient"/> using the default configuration.
</summary>
<param name="factory">The <see cref="T:System.Net.Http.IHttpClientFactory"/>.</param>
<returns>An <see cref="T:System.Net.Http.HttpClient"/> configured using the default configuration.</returns>
</member>
<member name="T:System.Net.Http.HttpMessageHandlerFactoryExtensions">
<summary>
Extensions methods for <see cref="T:System.Net.Http.IHttpMessageHandlerFactory"/>.
</summary>
</member>
<member name="M:System.Net.Http.HttpMessageHandlerFactoryExtensions.CreateHandler(System.Net.Http.IHttpMessageHandlerFactory)">
<summary>
Creates a new <see cref="T:System.Net.Http.HttpMessageHandler"/> using the default configuration.
</summary>
<param name="factory">The <see cref="T:System.Net.Http.IHttpMessageHandlerFactory"/>.</param>
<returns>An <see cref="T:System.Net.Http.HttpMessageHandler"/> configured using the default configuration.</returns>
</member>
<member name="T:System.Net.Http.IHttpClientFactory">
<summary>
A factory abstraction for a component that can create <see cref="T:System.Net.Http.HttpClient"/> instances with custom
configuration for a given logical name.
</summary>
<remarks>
A default <see cref="T:System.Net.Http.IHttpClientFactory"/> can be registered in an <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/>
by calling <see cref="M:Microsoft.Extensions.DependencyInjection.HttpClientFactoryServiceCollectionExtensions.AddHttpClient(Microsoft.Extensions.DependencyInjection.IServiceCollection)"/>.
The default <see cref="T:System.Net.Http.IHttpClientFactory"/> will be registered in the service collection as a singleton.
</remarks>
</member>
<member name="M:System.Net.Http.IHttpClientFactory.CreateClient(System.String)">
<summary>
Creates and configures an <see cref="T:System.Net.Http.HttpClient"/> instance using the configuration that corresponds
to the logical name specified by <paramref name="name"/>.
</summary>
<param name="name">The logical name of the client to create.</param>
<returns>A new <see cref="T:System.Net.Http.HttpClient"/> instance.</returns>
<remarks>
<para>
Each call to <see cref="M:System.Net.Http.IHttpClientFactory.CreateClient(System.String)"/> is guaranteed to return a new <see cref="T:System.Net.Http.HttpClient"/>
instance. It is generally not necessary to dispose of the <see cref="T:System.Net.Http.HttpClient"/> as the
<see cref="T:System.Net.Http.IHttpClientFactory"/> tracks and disposes resources used by the <see cref="T:System.Net.Http.HttpClient"/>.
</para>
<para>
Callers are also free to mutate the returned <see cref="T:System.Net.Http.HttpClient"/> instance's public properties
as desired.
</para>
</remarks>
</member>
<member name="T:System.Net.Http.IHttpMessageHandlerFactory">
<summary>
A factory abstraction for a component that can create <see cref="T:System.Net.Http.HttpMessageHandler"/> instances with custom
configuration for a given logical name.
</summary>
<remarks>
A default <see cref="T:System.Net.Http.IHttpMessageHandlerFactory"/> can be registered in an <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/>
by calling <see cref="M:Microsoft.Extensions.DependencyInjection.HttpClientFactoryServiceCollectionExtensions.AddHttpClient(Microsoft.Extensions.DependencyInjection.IServiceCollection)"/>.
The default <see cref="T:System.Net.Http.IHttpMessageHandlerFactory"/> will be registered in the service collection as a singleton.
</remarks>
</member>
<member name="M:System.Net.Http.IHttpMessageHandlerFactory.CreateHandler(System.String)">
<summary>
Creates and configures an <see cref="T:System.Net.Http.HttpMessageHandler"/> instance using the configuration that corresponds
to the logical name specified by <paramref name="name"/>.
</summary>
<param name="name">The logical name of the message handler to create.</param>
<returns>A new <see cref="T:System.Net.Http.HttpMessageHandler"/> instance.</returns>
<remarks>
<para>
The default <see cref="T:System.Net.Http.IHttpMessageHandlerFactory"/> implementation may cache the underlying
<see cref="T:System.Net.Http.HttpMessageHandler"/> instances to improve performance.
</para>
<para>
The default <see cref="T:System.Net.Http.IHttpMessageHandlerFactory"/> implementation also manages the lifetime of the
handler created, so disposing of the <see cref="T:System.Net.Http.HttpMessageHandler"/> returned by this method may
have no effect.
</para>
</remarks>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute">
<summary>
Indicates that certain members on a specified <see cref="T:System.Type"/> are accessed dynamically,
for example through <see cref="N:System.Reflection"/>.
</summary>
<remarks>
This allows tools to understand which members are being accessed during the execution
of a program.
This attribute is valid on members whose type is <see cref="T:System.Type"/> or <see cref="T:System.String"/>.
When this attribute is applied to a location of type <see cref="T:System.String"/>, the assumption is
that the string represents a fully qualified type name.
When this attribute is applied to a class, interface, or struct, the members specified
can be accessed dynamically on <see cref="T:System.Type"/> instances returned from calling
<see cref="M:System.Object.GetType"/> on instances of that class, interface, or struct.
If the attribute is applied to a method it's treated as a special case and it implies
the attribute should be applied to the "this" parameter of the method. As such the attribute
should only be used on instance methods of types assignable to System.Type (or string, but no methods
will use it there).
</remarks>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute.#ctor(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes)">
<summary>
Initializes a new instance of the <see cref="T:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute"/> class
with the specified member types.
</summary>
<param name="memberTypes">The types of members dynamically accessed.</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute.MemberTypes">
<summary>
Gets the <see cref="T:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes"/> which specifies the type
of members dynamically accessed.
</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes">
<summary>
Specifies the types of members that are dynamically accessed.
This enumeration has a <see cref="T:System.FlagsAttribute"/> attribute that allows a
bitwise combination of its member values.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.None">
<summary>
Specifies no members.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicParameterlessConstructor">
<summary>
Specifies the default, parameterless public constructor.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicConstructors">
<summary>
Specifies all public constructors.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicConstructors">
<summary>
Specifies all non-public constructors.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicMethods">
<summary>
Specifies all public methods.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicMethods">
<summary>
Specifies all non-public methods.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicFields">
<summary>
Specifies all public fields.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicFields">
<summary>
Specifies all non-public fields.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicNestedTypes">
<summary>
Specifies all public nested types.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicNestedTypes">
<summary>
Specifies all non-public nested types.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicProperties">
<summary>
Specifies all public properties.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicProperties">
<summary>
Specifies all non-public properties.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicEvents">
<summary>
Specifies all public events.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicEvents">
<summary>
Specifies all non-public events.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.Interfaces">
<summary>
Specifies all interfaces implemented by the type.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicConstructorsWithInherited">
<summary>
Specifies all non-public constructors, including those inherited from base classes.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicMethodsWithInherited">
<summary>
Specifies all non-public methods, including those inherited from base classes.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicFieldsWithInherited">
<summary>
Specifies all non-public fields, including those inherited from base classes.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicNestedTypesWithInherited">
<summary>
Specifies all non-public nested types, including those inherited from base classes.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicPropertiesWithInherited">
<summary>
Specifies all non-public properties, including those inherited from base classes.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicEventsWithInherited">
<summary>
Specifies all non-public events, including those inherited from base classes.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicConstructorsWithInherited">
<summary>
Specifies all public constructors, including those inherited from base classes.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicNestedTypesWithInherited">
<summary>
Specifies all public nested types, including those inherited from base classes.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.AllConstructors">
<summary>
Specifies all constructors, including those inherited from base classes.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.AllMethods">
<summary>
Specifies all methods, including those inherited from base classes.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.AllFields">
<summary>
Specifies all fields, including those inherited from base classes.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.AllNestedTypes">
<summary>
Specifies all nested types, including those inherited from base classes.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.AllProperties">
<summary>
Specifies all properties, including those inherited from base classes.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.AllEvents">
<summary>
Specifies all events, including those inherited from base classes.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.All">
<summary>
Specifies all members.
</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute">
<summary>
Suppresses reporting of a specific rule violation, allowing multiple suppressions on a
single code artifact.
</summary>
<remarks>
<see cref="T:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute"/> is different than
<see cref="T:System.Diagnostics.CodeAnalysis.SuppressMessageAttribute"/> in that it doesn't have a
<see cref="T:System.Diagnostics.ConditionalAttribute"/>. So it is always preserved in the compiled assembly.
</remarks>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.#ctor(System.String,System.String)">
<summary>
Initializes a new instance of the <see cref="T:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute"/>
class, specifying the category of the tool and the identifier for an analysis rule.
</summary>
<param name="category">The category for the attribute.</param>
<param name="checkId">The identifier of the analysis rule the attribute applies to.</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Category">
<summary>
Gets the category identifying the classification of the attribute.
</summary>
<remarks>
The <see cref="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Category"/> property describes the tool or tool analysis category
for which a message suppression attribute applies.
</remarks>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.CheckId">
<summary>
Gets the identifier of the analysis tool rule to be suppressed.
</summary>
<remarks>
Concatenated together, the <see cref="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Category"/> and <see cref="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.CheckId"/>
properties form a unique check identifier.
</remarks>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Scope">
<summary>
Gets or sets the scope of the code that is relevant for the attribute.
</summary>
<remarks>
The Scope property is an optional argument that specifies the metadata scope for which
the attribute is relevant.
</remarks>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Target">
<summary>
Gets or sets a fully qualified path that represents the target of the attribute.
</summary>
<remarks>
The <see cref="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Target"/> property is an optional argument identifying the analysis target
of the attribute. An example value is "System.IO.Stream.ctor():System.Void".
Because it is fully qualified, it can be long, particularly for targets such as parameters.
The analysis tool user interface should be capable of automatically formatting the parameter.
</remarks>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.MessageId">
<summary>
Gets or sets an optional argument expanding on exclusion criteria.
</summary>
<remarks>
The <see cref="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.MessageId"/> property is an optional argument that specifies additional
exclusion where the literal metadata target is not sufficiently precise. For example,
the <see cref="T:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute"/> cannot be applied within a method,
and it may be desirable to suppress a violation against a statement in the method that will
give a rule violation, but not against all statements in the method.
</remarks>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Justification">
<summary>
Gets or sets the justification for suppressing the code analysis message.
</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.AllowNullAttribute">
<summary>Specifies that null is allowed as an input even if the corresponding type disallows it.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.DisallowNullAttribute">
<summary>Specifies that null is disallowed as an input even if the corresponding type allows it.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MaybeNullAttribute">
<summary>Specifies that an output may be null even if the corresponding type disallows it.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.NotNullAttribute">
<summary>Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute">
<summary>Specifies that when a method returns <see cref="P:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.ReturnValue"/>, the parameter may be null even if the corresponding type disallows it.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.#ctor(System.Boolean)">
<summary>Initializes the attribute with the specified return value condition.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated parameter may be null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.ReturnValue">
<summary>Gets the return value condition.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute">
<summary>Specifies that when a method returns <see cref="P:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.ReturnValue"/>, the parameter will not be null even if the corresponding type allows it.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.#ctor(System.Boolean)">
<summary>Initializes the attribute with the specified return value condition.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated parameter will not be null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.ReturnValue">
<summary>Gets the return value condition.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute">
<summary>Specifies that the output will be non-null if the named parameter is non-null.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute.#ctor(System.String)">
<summary>Initializes the attribute with the associated parameter name.</summary>
<param name="parameterName">
The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute.ParameterName">
<summary>Gets the associated parameter name.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.DoesNotReturnAttribute">
<summary>Applied to a method that will never return under any circumstance.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute">
<summary>Specifies that the method will not return if the associated Boolean parameter is passed the specified value.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute.#ctor(System.Boolean)">
<summary>Initializes the attribute with the specified parameter value.</summary>
<param name="parameterValue">
The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to
the associated parameter matches this value.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute.ParameterValue">
<summary>Gets the condition parameter value.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute">
<summary>Specifies that the method or property will ensure that the listed field and property members have not-null values.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.#ctor(System.String)">
<summary>Initializes the attribute with a field or property member.</summary>
<param name="member">
The field or property member that is promised to be not-null.
</param>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.#ctor(System.String[])">
<summary>Initializes the attribute with the list of field and property members.</summary>
<param name="members">
The list of field and property members that are promised to be not-null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.Members">
<summary>Gets field or property member names.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute">
<summary>Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.#ctor(System.Boolean,System.String)">
<summary>Initializes the attribute with the specified return value condition and a field or property member.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated field or property member will not be null.
</param>
<param name="member">
The field or property member that is promised to be not-null.
</param>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.#ctor(System.Boolean,System.String[])">
<summary>Initializes the attribute with the specified return value condition and list of field and property members.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated field and property members will not be null.
</param>
<param name="members">
The list of field and property members that are promised to be not-null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.ReturnValue">
<summary>Gets the return value condition.</summary>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.Members">
<summary>Gets field or property member names.</summary>
</member>
<member name="T:System.Runtime.CompilerServices.CompilerLoweringPreserveAttribute">
<summary>
When applied to an attribute class, instructs the compiler to flow applications of that attribute,
from source code down to compiler-generated symbols. This can help IL-based analysis tools.
</summary>
<remarks>
One example where this attribute applies is in C# primary constructor parameters. If an attribute
marked with <see cref="T:System.Runtime.CompilerServices.CompilerLoweringPreserveAttribute"/> gets applied to a primary constructor
parameter, the attribute will also be applied to any compiler-generated fields storing that parameter.
</remarks>
</member>
<member name="M:System.Runtime.CompilerServices.CompilerLoweringPreserveAttribute.#ctor">
<summary>
Initializes a new instance of the <see cref="T:System.Runtime.CompilerServices.CompilerLoweringPreserveAttribute"/> class.
</summary>
</member>
<member name="T:System.Runtime.InteropServices.LibraryImportAttribute">
<summary>
Attribute used to indicate a source generator should create a function for marshalling
arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time.
</summary>
<remarks>
This attribute is meaningless if the source generator associated with it is not enabled.
The current built-in source generator only supports C# and only supplies an implementation when
applied to static, partial, non-generic methods.
</remarks>
</member>
<member name="M:System.Runtime.InteropServices.LibraryImportAttribute.#ctor(System.String)">
<summary>
Initializes a new instance of the <see cref="T:System.Runtime.InteropServices.LibraryImportAttribute"/>.
</summary>
<param name="libraryName">Name of the library containing the import.</param>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.LibraryName">
<summary>
Gets the name of the library containing the import.
</summary>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.EntryPoint">
<summary>
Gets or sets the name of the entry point to be called.
</summary>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshalling">
<summary>
Gets or sets how to marshal string arguments to the method.
</summary>
<remarks>
If this field is set to a value other than <see cref="F:System.Runtime.InteropServices.StringMarshalling.Custom" />,
<see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType" /> must not be specified.
</remarks>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType">
<summary>
Gets or sets the <see cref="T:System.Type"/> used to control how string arguments to the method are marshalled.
</summary>
<remarks>
If this field is specified, <see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshalling" /> must not be specified
or must be set to <see cref="F:System.Runtime.InteropServices.StringMarshalling.Custom" />.
</remarks>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.SetLastError">
<summary>
Gets or sets whether the callee sets an error (SetLastError on Windows or errno
on other platforms) before returning from the attributed method.
</summary>
</member>
<member name="T:System.Runtime.InteropServices.StringMarshalling">
<summary>
Specifies how strings should be marshalled for generated p/invokes
</summary>
</member>
<member name="F:System.Runtime.InteropServices.StringMarshalling.Custom">
<summary>
Indicates the user is supplying a specific marshaller in <see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType"/>.
</summary>
</member>
<member name="F:System.Runtime.InteropServices.StringMarshalling.Utf8">
<summary>
Use the platform-provided UTF-8 marshaller.
</summary>
</member>
<member name="F:System.Runtime.InteropServices.StringMarshalling.Utf16">
<summary>
Use the platform-provided UTF-16 marshaller.
</summary>
</member>
<member name="P:System.SR.HttpMessageHandlerBuilder_AdditionalHandlerIsNull">
<summary>The '{0}' must not contain a null entry.</summary>
</member>
<member name="P:System.SR.HttpMessageHandlerBuilder_AdditionHandlerIsInvalid">
<summary>The '{0}' property must be null. '{1}' instances provided to '{2}' must not be reused or cached.{3}Handler: '{4}'</summary>
</member>
<member name="P:System.SR.HttpMessageHandlerBuilder_PrimaryHandlerIsNull">
<summary>The '{0}' must not be null.</summary>
</member>
<member name="P:System.SR.HandlerLifetime_InvalidValue">
<summary>The handler lifetime must be at least 1 second.</summary>
</member>
<member name="P:System.SR.SocketsHttpHandlerBuilder_PrimaryHandlerIsInvalid">
<summary>The '{0}' must be '{1}'.{2}Handler: '{3}'</summary>
</member>
<member name="P:System.SR.TypedClient_NoHttpClientCtor">
<summary>A suitable constructor for type '{0}' could not be located. A Typed client must provide a constructor taking a 'System.Net.Http.HttpClient' as a parameter.</summary>
</member>
<member name="T:System.ExceptionPolyfills">
<summary>Provides downlevel polyfills for static methods on Exception-derived types.</summary>
</member>
</members>
</doc>