Microsoft.Extensions.Hosting
Specifies a behavior that the will honor if an
unhandled exception occurs in one of its instances.
Stops the instance.
If a throws an exception, the instance stops, and the process continues.
Ignore exceptions thrown in .
If a throws an exception, the will log the error, but otherwise ignore it.
The is not restarted.
Indicates if host lifetime status messages should be suppressed such as on startup.
The default is false.
Provides convenience methods for creating instances of with pre-configured defaults.
Initializes a new instance of the class with pre-configured defaults.
The following defaults are applied to the returned :
- set the to the result of
- load host from "DOTNET_" prefixed environment variables
- load app from 'appsettings.json' and 'appsettings.[].json'
- load app from User Secrets when is 'Development' using the entry assembly
- load app from environment variables
- configure the to log to the console, debug, and event source output
- enables scope validation on the dependency injection container when is 'Development'
The initialized .
Initializes a new instance of the class with pre-configured defaults.
The following defaults are applied to the returned :
- set the to the result of
- load host from "DOTNET_" prefixed environment variables
- load host from supplied command line args
- load app from 'appsettings.json' and 'appsettings.[].json'
- load app from User Secrets when is 'Development' using the entry assembly
- load app from environment variables
- load app from supplied command line args
- configure the to log to the console, debug, and event source output
- enables scope validation on the dependency injection container when is 'Development'
The command line args.
The initialized .
A program initialization utility.
A central location for sharing state between components during the host building process.
Set up the configuration for the builder itself. This will be used to initialize the
for use later in the build process. This can be called multiple times and the results will be additive.
The delegate for configuring the that will be used
to construct the for the host.
The same instance of the for chaining.
Sets up the configuration for the remainder of the build process and application. This can be called multiple times and
the results will be additive. The results will be available at for
subsequent operations, as well as in .
The delegate for configuring the that will be used
to construct the for the host.
The same instance of the for chaining.
Adds services to the container. This can be called multiple times and the results will be additive.
The delegate for configuring the that will be used
to construct the for the host.
The same instance of the for chaining.
Overrides the factory used to create the service provider.
The type of the builder to create.
A factory used for creating service providers.
The same instance of the for chaining.
Overrides the factory used to create the service provider.
A factory used for creating service providers.
The type of the builder to create.
The same instance of the for chaining.
Enables configuring the instantiated dependency container. This can be called multiple times and
the results will be additive.
The type of the builder to create.
The delegate for configuring the that will be used
to construct the for the host.
The same instance of the for chaining.
Run the given actions to initialize the host. This can only be called once.
An initialized
Specify the environment to be used by the host. To avoid the environment being overwritten by a default
value, ensure this is called after defaults are configured.
The to configure.
The environment to host the application in.
The .
Specify the content root directory to be used by the host. To avoid the content root directory being
overwritten by a default value, ensure this is called after defaults are configured.
The to configure.
Path to root directory of the application.
The .
Specify the to be the default one.
The to configure.
The .
Specify the to be the default one.
The to configure.
The delegate that configures the .
The .
Adds a delegate for configuring the provided . This may be called multiple times.
The to configure.
The delegate that configures the .
The same instance of the for chaining.
Adds a delegate for configuring the provided . This may be called multiple times.
The to configure.
The delegate that configures the .
The same instance of the for chaining.
Adds a delegate for configuring the of the .
The to configure.
The delegate for configuring the .
The same instance of the for chaining.
Adds a delegate for configuring the of the .
The to configure.
The delegate for configuring the .
The same instance of the for chaining.
Sets up the configuration for the remainder of the build process and application. This can be called multiple times and
the results will be additive. The results will be available at for
subsequent operations, as well as in .
The to configure.
The delegate for configuring the that will be used
to construct the for the host.
The same instance of the for chaining.
Adds services to the container. This can be called multiple times and the results will be additive.
The to configure.
The delegate for configuring the .
The same instance of the for chaining.
Enables configuring the instantiated dependency container. This can be called multiple times and
the results will be additive.
The to configure.
The delegate for configuring the .
The same instance of the for chaining.
Configures an existing instance with pre-configured defaults. This will overwrite
previously configured values and is intended to be called before additional configuration calls.
The following defaults are applied to the :
* set the to the result of
* load host from "DOTNET_" prefixed environment variables
* load host from supplied command line args
* load app from 'appsettings.json' and 'appsettings.[].json'
* load app from User Secrets when is 'Development' using the entry assembly
* load app from environment variables
* load app from supplied command line args
* configure the to log to the console, debug, and event source output
* enables scope validation on the dependency injection container when is 'Development'
The existing builder to configure.
The command line args.
The same instance of the for chaining.
Listens for Ctrl+C or SIGTERM and calls to start the shutdown process.
This will unblock extensions like RunAsync and WaitForShutdownAsync.
The to configure.
The same instance of the for chaining.
Listens for Ctrl+C or SIGTERM and calls to start the shutdown process.
This will unblock extensions like RunAsync and WaitForShutdownAsync.
The to configure.
The delegate for configuring the .
The same instance of the for chaining.
Enables console support, builds and starts the host, and waits for Ctrl+C or SIGTERM to shut down.
The to configure.
A that can be used to cancel the console.
A that only completes when the token is triggered or shutdown is triggered.
Enables console support, builds and starts the host, and waits for Ctrl+C or SIGTERM to shut down.
The to configure.
The delegate for configuring the .
A that can be used to cancel the console.
A that only completes when the token is triggered or shutdown is triggered.
Options for
The default timeout for .
The behavior the will follow when any of
its instances throw an unhandled exception.
Defaults to .
Allows consumers to perform cleanup during a graceful shutdown.
Triggered when the application host has fully started and is about to wait
for a graceful shutdown.
Triggered when the application host is performing a graceful shutdown.
Request may still be in flight. Shutdown will block until this event completes.
Triggered when the application host is performing a graceful shutdown.
All requests should be complete at this point. Shutdown will block
until this event completes.
Signals the ApplicationStopping event and blocks until it completes.
Signals the ApplicationStarted event and blocks until it completes.
Signals the ApplicationStopped event and blocks until it completes.
Listens for Ctrl+C or SIGTERM and initiates shutdown.
This API supports infrastructure and is not intended to be used
directly from your code. This API may change or be removed in future releases.
Minimalistic lifetime that does nothing.
Extension methods for adding configuration related options services to the DI container via .
Enforces options validation check on start rather than in runtime.
The type of options.
The to configure options instance.
The so that additional calls can be chained.
Suppresses reporting of a specific rule violation, allowing multiple suppressions on a
single code artifact.
is different than
in that it doesn't have a
. So it is always preserved in the compiled assembly.
Initializes a new instance of the
class, specifying the category of the tool and the identifier for an analysis rule.
The category for the attribute.
The identifier of the analysis rule the attribute applies to.
Gets the category identifying the classification of the attribute.
The property describes the tool or tool analysis category
for which a message suppression attribute applies.
Gets the identifier of the analysis tool rule to be suppressed.
Concatenated together, the and
properties form a unique check identifier.
Gets or sets the scope of the code that is relevant for the attribute.
The Scope property is an optional argument that specifies the metadata scope for which
the attribute is relevant.
Gets or sets a fully qualified path that represents the target of the attribute.
The 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.
Gets or sets an optional argument expanding on exclusion criteria.
The property is an optional argument that specifies additional
exclusion where the literal metadata target is not sufficiently precise. For example,
the 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.
Gets or sets the justification for suppressing the code analysis message.
Indicates that certain members on a specified are accessed dynamically,
for example through .
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 or .
When this attribute is applied to a location of type , 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 instances returned from calling
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).
Initializes a new instance of the class
with the specified member types.
The types of members dynamically accessed.
Gets the which specifies the type
of members dynamically accessed.
Specifies the types of members that are dynamically accessed.
This enumeration has a attribute that allows a
bitwise combination of its member values.
Specifies no members.
Specifies the default, parameterless public constructor.
Specifies all public constructors.
Specifies all non-public constructors.
Specifies all public methods.
Specifies all non-public methods.
Specifies all public fields.
Specifies all non-public fields.
Specifies all public nested types.
Specifies all non-public nested types.
Specifies all public properties.
Specifies all non-public properties.
Specifies all public events.
Specifies all non-public events.
Specifies all interfaces implemented by the type.
Specifies all members.
The HostOptions.BackgroundServiceExceptionBehavior is configured to StopHost. A BackgroundService has thrown an unhandled exception, and the IHost instance is stopping. To avoid this behavior, configure this to Ignore; however the BackgroundService will no ...
Build can only be called once.
CreateBuilder must be called before CreateServiceProvider
The IServiceProviderFactory returned a null IServiceProvider
The resolver returned a null IServiceProviderFactory
Base type for all platform-specific API attributes.
Records the platform that the project targeted.
Records the operating system (and minimum version) that supports an API. Multiple attributes can be
applied to indicate support on multiple operating systems.
Callers can apply a
or use guards to prevent calls to APIs on unsupported operating systems.
A given platform should only be specified once.
Marks APIs that were removed in a given operating system version.
Primarily used by OS bindings to indicate APIs that are only available in
earlier versions.
Annotates a custom guard field, property or method with a supported platform name and optional version.
Multiple attributes can be applied to indicate guard for multiple supported platforms.
Callers can apply a to a field, property or method
and use that field, property or method in a conditional or assert statements in order to safely call platform specific APIs.
The type of the field or property should be boolean, the method return type should be boolean in order to be used as platform guard.
Annotates the custom guard field, property or method with an unsupported platform name and optional version.
Multiple attributes can be applied to indicate guard for multiple unsupported platforms.
Callers can apply a to a field, property or method
and use that field, property or method in a conditional or assert statements as a guard to safely call APIs unsupported on those platforms.
The type of the field or property should be boolean, the method return type should be boolean in order to be used as platform guard.