2424// OTHER DEALINGS IN THE SOFTWARE.
2525
2626using System ;
27+ using Autofac . Builder ;
2728using Microsoft . Extensions . DependencyInjection ;
2829
2930namespace Autofac . Extensions . DependencyInjection
@@ -34,15 +35,25 @@ namespace Autofac.Extensions.DependencyInjection
3435 public class AutofacServiceProviderFactory : IServiceProviderFactory < ContainerBuilder >
3536 {
3637 private readonly Action < ContainerBuilder > _configurationAction ;
38+ private readonly ContainerBuildOptions _containerBuildOptions = ContainerBuildOptions . None ;
3739
3840 /// <summary>
3941 /// Initializes a new instance of the <see cref="AutofacServiceProviderFactory"/> class.
4042 /// </summary>
41- /// <param name="configurationAction">Action on a <see cref="ContainerBuilder"/> that adds component registrations to the conatiner.</param>
42- public AutofacServiceProviderFactory ( Action < ContainerBuilder > configurationAction = null )
43- {
43+ /// <param name="containerBuildOptions">The container options to use when building the container.</param>
44+ /// <param name="configurationAction">Action on a <see cref="ContainerBuilder"/> that adds component registrations to the container.</param>
45+ public AutofacServiceProviderFactory (
46+ ContainerBuildOptions containerBuildOptions ,
47+ Action < ContainerBuilder > configurationAction = null )
48+ : this ( configurationAction ) =>
49+ _containerBuildOptions = containerBuildOptions ;
50+
51+ /// <summary>
52+ /// Initializes a new instance of the <see cref="AutofacServiceProviderFactory"/> class.
53+ /// </summary>
54+ /// <param name="configurationAction">Action on a <see cref="ContainerBuilder"/> that adds component registrations to the container..</param>
55+ public AutofacServiceProviderFactory ( Action < ContainerBuilder > configurationAction = null ) =>
4456 _configurationAction = configurationAction ?? ( builder => { } ) ;
45- }
4657
4758 /// <summary>
4859 /// Creates a container builder from an <see cref="IServiceCollection" />.
@@ -69,7 +80,7 @@ public IServiceProvider CreateServiceProvider(ContainerBuilder containerBuilder)
6980 {
7081 if ( containerBuilder == null ) throw new ArgumentNullException ( nameof ( containerBuilder ) ) ;
7182
72- var container = containerBuilder . Build ( ) ;
83+ var container = containerBuilder . Build ( _containerBuildOptions ) ;
7384
7485 return new AutofacServiceProvider ( container ) ;
7586 }
0 commit comments