Exemple #1
0
        public void AddInstanceInAspectCore_UseInterceptorInAspectCore_Test()
        {
            var serviceContext = new ServiceContext();

            serviceContext.AddInstance <ITaskService>(new TaskService());
            serviceContext.Configuration.Interceptors.AddTyped <Interceptor>(m => true);

            var container   = serviceContext.Build();
            var taskService = container.ResolveRequired <ITaskService>();

            Assert.Equal(2, taskService.Run());
        }
        public void LoadBinding()
        {
            var dict = new Dictionary <string, string>
            {
                { "creator:age", "24" },
                { "creator:name", "lemon" }
            };
            var builder = new ConfigurationBuilder().AddEnvironmentVariables();

            builder.AddInMemoryCollection(dict);
            var configuration = builder.Build();
            var container     = new ServiceContext();

            container.AddInstance <IConfiguration>(configuration);
            container.AddConfigurationInject();
            container.AddType <BindConfigService>();
            var service = container.Build().Resolve <BindConfigService>();

            Assert.Equal(service.ToString(), "lemon-24");
        }
Exemple #3
0
        public void AddInstanceInAspectCore_UseInterceptorInAutofac_Test()
        {
            var serviceContext = new ServiceContext();

            serviceContext.AddInstance <ITaskService>(new TaskService());

            var containerBuilder = new ContainerBuilder();

            containerBuilder.Populate(serviceContext);

            containerBuilder.RegisterDynamicProxy(serviceContext.Configuration, config =>
            {
                config.Interceptors.AddTyped <Interceptor>(m => true);
            });

            var container   = containerBuilder.Build();
            var taskService = container.Resolve <ITaskService>();

            Assert.Equal(2, taskService.Run());

            container.Dispose();
            Assert.True(taskService.Disposed);
        }