Beispiel #1
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="options"></param>
 /// <param name="configurationAction"></param>
 /// <returns></returns>
 public static BootstrapperCreationOptions UseAutofac(this BootstrapperCreationOptions options, Action <ContainerBuilder> configurationAction = null)
 {
     options.PreConfigureServices(context =>
     {
         ProxyTargetProvider.Default.Add(new AutofacProxyTargetProvider());
         context.Services.AddTransient(typeof(AsyncDeterminationInterceptor <>), typeof(AsyncDeterminationInterceptor <>));
         context.Services.AddSingleton <IProxyConventionalAction>(new ProxyConventionalAction());
     });
     options.UseServiceProviderFactory(new AutofacServiceProviderFactory(configurationAction));
     return(options);
 }
Beispiel #2
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="options"></param>
 /// <returns></returns>
 public static BootstrapperCreationOptions UseAspectCore(this BootstrapperCreationOptions options)
 {
     options.PreConfigureServices(context =>
     {
         ProxyTargetProvider.Default.Add(new AspectCoreProxyTargetProvider());
         context.Services.AddSingleton <IProxyConventionalAction>(new ProxyConventionalAction())
         .AddSingleton <IAdditionalInterceptorSelector, ConfigureAdditionalInterceptorSelector>()
         .ConfigureDynamicProxy(c => c.ValidationHandlers.Add(new ConfigureAdditionalAspectValidationHandler(c)));
     });
     options.ConfigureServices(context => context.Services.ReplaceSingleton <IPropertyInjectorFactory, DependencyInjection.PropertyInjectorFactory>()
                               .AddScoped <IServiceResolveCallback, DependencyInjection.PropertyInjectorCallback>().AddTransient(typeof(AspectCoreInterceptorAdapter <>)));
     options.UseServiceProviderFactory(new AspectCore.Extensions.DependencyInjection.ServiceContextProviderFactory());
     return(options);
 }
Beispiel #3
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="options"></param>
 /// <returns></returns>
 public static BootstrapperCreationOptions UseAspectCore(this BootstrapperCreationOptions options)
 {
     options.UseServiceProviderFactory(new AspectCore.Extensions.DependencyInjection.ServiceContextProviderFactory());
     options.PostConfigureServices(context => DynamicProxy.InterceptorHelper.RegisterConventionalInterceptor(context.Services));
     return(options);
 }