예제 #1
0
        public void SetDependencyLifetimeScopeFactory_PassingNullAsDependencyLifetimeScopeFactory_ShouldThrowException()
        {
            var builder = new ProjectorBuilder <string, FakeMessageEnvelope>();
            var ex      = Assert.Throws <ArgumentNullException>(() => builder.SetDependencyLifetimeScopeFactory(null));

            Assert.That(ex.ParamName, Is.EqualTo("factory"));
        }
예제 #2
0
        UseAutofacDependencyLifetimeScopeFactory <TProjectionKey, TMessageEnvelope>(this ProjectorBuilder <TProjectionKey, TMessageEnvelope> builder, IComponentContext componentContext)
            where TProjectionKey : IEquatable <TProjectionKey>
            where TMessageEnvelope : MessageEnvelope
        {
            var lifetimeScopeFactory = componentContext.Resolve <Func <ILifetimeScope> >();
            Func <ILifetimeScope> childLifetimeScopeFactory = () => lifetimeScopeFactory().BeginLifetimeScope();

            builder.SetDependencyLifetimeScopeFactory(new AutofacDependencyLifetimeScopeFactory(childLifetimeScopeFactory));
            return(builder);
        }