##// END OF EJS Templates
Container configuration cleanup, RC2
Container configuration cleanup, RC2

File last commit:

r277:963b17c275be v3
r279:8714471e8d78 v3
Show More
RegistrationBuilder.cs
42 lines | 1.3 KiB | text/x-csharp | CSharpLexer
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Xml.Serialization;
using Implab.Xml;
using Unity.Injection;
using Unity.Lifetime;
using Unity.Registration;
namespace Implab.ServiceHost.Unity {
/// <summary>
/// Базовый класс для формирования записей в контейнере, созволяет указать время жизни для записи
/// </summary>
public abstract class RegistrationBuilder {
public Type RegistrationType {
get;
private set;
}
internal LifetimeManager Lifetime { get; set; }
protected RegistrationBuilder(Type registrationType) {
RegistrationType = registrationType;
}
internal void Visit(SingletonLifetimeElement simgletonLifetime) {
Lifetime = new SingletonLifetimeManager();
}
internal void Visit(ContainerLifetimeElement containerLifetime) {
Lifetime = new ContainerControlledLifetimeManager();
}
internal void Visit(HierarchicalLifetimeElement hierarchicalLifetime) {
Lifetime = new HierarchicalLifetimeManager();
}
internal void Visist(ContextLifetimeElement contextLifetime) {
Lifetime = new PerResolveLifetimeManager();
}
}
}