Пример #1
0
        public async Task MultitenantTests_Dispose_Async_Multiple()
        {
            var container = new StashboxContainer();

            container.Register <IA, C>();

            var md = new TenantDistributor(container);

            await md.DisposeAsync();

            await md.DisposeAsync();
        }
Пример #2
0
        public async Task MultitenantTests_Dispose_Async_Tenant()
        {
            var container = new StashboxContainer(c => c.WithDisposableTransientTracking());

            var md = new TenantDistributor(container);

            md.ConfigureTenant("C", c => c.Register <IA, C>());
            var tenant = md.GetTenant("C");

            var inst = (C)tenant.Resolve <IA>();

            await md.DisposeAsync();

            Assert.True(inst.Disposed);
            Assert.Throws <ObjectDisposedException>(() => container.Resolve <IA>());
            Assert.Throws <ObjectDisposedException>(() => tenant.Resolve <IA>());
        }