Esempio n. 1
0
 /// <summary>
 /// Sets the default lifetime used when a service doesn't have a configured one.
 /// </summary>
 /// <param name="lifetime">The default lifetime.</param>
 /// <returns>The container configurator.</returns>
 public ContainerConfigurator WithDefaultLifetime(LifetimeDescriptor lifetime)
 {
     this.ContainerConfiguration.DefaultLifetime = lifetime;
     return(this);
 }
 /// <summary>
 /// Sets the lifetime of the registration.
 /// </summary>
 /// <param name="lifetime">An <see cref="LifetimeDescriptor"/> implementation.</param>
 /// <returns>The configurator itself.</returns>
 public TConfigurator WithLifetime(LifetimeDescriptor lifetime)
 {
     this.Context.Lifetime = lifetime;
     return((TConfigurator)this);
 }
Esempio n. 3
0
        private Expression BuildExpressionAndApplyLifetime(ServiceRegistration serviceRegistration,
                                                           ResolutionContext resolutionContext, Type requestedType, LifetimeDescriptor secondaryLifetimeDescriptor = null)
        {
            var lifetimeDescriptor = serviceRegistration.RegistrationContext.Lifetime ?? secondaryLifetimeDescriptor;

            if (!IsOutputLifetimeManageable(serviceRegistration) || lifetimeDescriptor == null)
            {
                return(this.expressionBuilder.BuildExpressionForRegistration(serviceRegistration, resolutionContext, requestedType));
            }

            return(lifetimeDescriptor.ApplyLifetime(this.expressionBuilder, serviceRegistration, resolutionContext, requestedType));
        }