public void WHEN_lifetime_is_onRequest_THEN_instance_is_onRequest()
        {
            // Arrange
            var dependencies = new IDependency[]
            { new InterfaceDependency(typeof(ITestClass), typeof(TestClass), LifeTime.OnRequest), };

            // Act
            _adapter.Register(dependencies);
            var container = _builder.Build();

            using (var requestContainer = container.BeginLifetimeScope(MatchingScopeLifetimeTags.RequestLifetimeScopeTag))
            {
                // Assert
                var instance = requestContainer.Resolve <ITestClass>();
                instance.StringValue = "test";

                var onRequest = requestContainer.Resolve <ITestClass>();
                onRequest.StringValue.Should().Be("test");
            }

            Action afterRequestAction = () =>
            {
                var afterRequest = container.Resolve <ITestClass>();
                afterRequest.StringValue.Should().Be(null);
            };

            afterRequestAction.Should().Throw <DependencyResolutionException>();
        }
コード例 #2
0
 public void PreRegisteredContainerAdapter()
 {
     ContainerAdapterAccessor.Clear();
     var adapter = new AutofacContainerAdapter();
     adapter.Register<IDependantClass, DependantClass2>();
     IContainerManager containerManager = new ContainerManager(adapter);
     Assert.IsNotNull(containerManager.Resolve<IDependantClass>());
     var containerManager2 = new ContainerManager();
     Assert.IsNotNull(containerManager2.Resolve<IDependantClass>());
 }
コード例 #3
0
        public void PreRegisteredContainerAdapter()
        {
            ContainerAdapterAccessor.Clear();
            var adapter = new AutofacContainerAdapter();

            adapter.Register <IDependantClass, DependantClass2>();
            IContainerManager containerManager = new ContainerManager(adapter);

            Assert.IsNotNull(containerManager.Resolve <IDependantClass>());
            var containerManager2 = new ContainerManager();

            Assert.IsNotNull(containerManager2.Resolve <IDependantClass>());
        }