/// <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); }
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)); }