ContainerOptions Properties

Simple Injector

The ContainerOptions type exposes the following members.

Properties

  NameDescription
Public propertyAllowOverridingRegistrations
Gets or sets a value indicating whether the container allows overriding registrations. The default is false.
Public propertyConstructorResolutionBehavior
Gets or sets the constructor resolution behavior. By default, the container only supports types that have a single public constructor.
Public propertyContainer
Gets the container to which this ContainerOptions instance belongs to.
Public propertyDefaultLifestyle
Gets or sets the default lifestyle that the container will use when a registration is made when no lifestyle is supplied.
Public propertyDefaultScopedLifestyle
Gets or sets the default scoped lifestyle that the container should use when a registration is made using Lifestyle.Scoped.
Public propertyDependencyInjectionBehavior
Gets or sets the dependency injection behavior.
Public propertyEnableAutoVerification
Gets or sets a value indicating whether the container should automatically trigger verification and diagnostics of its configuration when the first service is resolved (e.g. the first call to GetInstance). The behavior is identical to calling Verify() manually. The default is true.
Public propertyEnableDynamicAssemblyCompilation Obsolete.
This property is obsolete and setting it has no effect. To use dynamic assembly compilation, set the ExpressionCompilationBehavior property with the custom IExpressionCompilationBehavior implementation from the SimpleInjector.DynamicAssemblyCompilation package.
Public propertyExpressionCompilationBehavior
Gets or sets the expression compilation behavior. Changing this behavior allows interception of the compilation of delegates, for instance debugging purposes.
Public propertyLifestyleSelectionBehavior
Gets or sets the lifestyle selection behavior. The container's default behavior is to make registrations using the Transient lifestyle.
Public propertyPropertySelectionBehavior
Gets or sets the property selection behavior. The container's default behavior is to do no property injection.
Public propertyResolveUnregisteredConcreteTypes
Gets or sets a value indicating whether the container should resolve unregistered concrete types. The default value is false. For more information on why resolving unregistered concrete types is disallowed by default, and what possible fixes you can apply, see https://simpleinjector.org/ructd.
Public propertySuppressLifestyleMismatchVerification
Gets or sets a value indicating whether the container should suppress checking for lifestyle mismatches (see: https://simpleinjector.org/dialm) when a component is resolved. The default is false. This setting will have no effect when EnableAutoVerification is true.
Public propertyUseFullyQualifiedTypeNames
Gets or sets a value indicating whether all the containers in the current AppDomain should throw exceptions that contain fully qualified type name. The default is false which means the type's namespace is omitted.
Public propertyUseLoosenedLifestyleMismatchBehavior Obsolete.

Gets or sets a value indicating whether the container should use a loosened (i.e. less strict) behavior for detecting lifestyle mismatches (see: https://simpleinjector.org/dialm). In short, when UseLoosenedLifestyleMismatchBehavior is set to trueTransient dependencies are allowed to be injected into Scoped components. When disabled, a warning would be given in that case. The default value is true.

Simple Injector allows custom lifestyles to be created and this loosened behavior works on custom lifestyles as well. The loosened behavior will ignore any lifestyle mismatch checks on any component with a lifestyle that has a Length that is equal or shorter than the length of Scoped.

Public propertyUseStrictLifestyleMismatchBehavior

Gets or sets a value indicating whether the container should use a strict behavior for detecting lifestyle mismatches (see: https://simpleinjector.org/dialm). In short, when UseStrictLifestyleMismatchBehavior is set to falseTransient dependencies are allowed to be injected into Scoped components. When enabled, a warning would be given in that case. The default value is false.

Simple Injector allows custom lifestyles to be created and this strict behavior works on custom lifestyles as well. When set to false. Simple Injector ignores any lifestyle mismatch checks on any component with a lifestyle that has a Length that is equal or shorter than the length of Scoped.

Top
See Also

Reference