public static IAspectRegistrationBuilder AddAspectSupport(this IServiceCollection serviceCollection)
        {
            var aspectConfigurationProvider = new InMemoryAspectConfigurationProvider();

            serviceCollection.TryAddSingleton <IAspectConfigurationProvider>(aspectConfigurationProvider);
            return(new DispatchProxyAspectRegistrationBuilder(serviceCollection.RegisterAspectFactories(),
                                                              aspectConfigurationProvider));
        }
Exemplo n.º 2
0
        /// <summary>
        ///     The initialize.
        /// </summary>
        public AspectRegistrationTests()
        {
            services = new ServiceCollection();
            services.AddAspectSupport();
            services.AddTransient <ITestInterface, MyTestInterface>();
            services.AddLogging(x => { x.AddConsole(); });
            IAspectConfigurationProvider aspectConfigurationProvider = new InMemoryAspectConfigurationProvider();
            var aspectConfiguration = new AspectConfiguration(new ServiceDescriptor(IInterfaceType, MyTestInterfaceType, ServiceLifetime.Transient));

            aspectConfiguration.AddEntry(TestAspectFactory.Type, methodsToIntercept: IInterfaceType.GetMethods());
            aspectConfiguration.AddEntry(TestAspectFactory2.Type, methodsToIntercept: IInterfaceType.GetMethods());
            aspectConfigurationProvider.AddEntry(aspectConfiguration);
            services.AddAspectSupport(aspectConfigurationProvider);
        }
Exemplo n.º 3
0
 public InMemoryAspectConfigurationProviderTests()
 {
     inMemoryAspectConfigurationProvider = new InMemoryAspectConfigurationProvider();
 }