using System.Configuration; using Microsoft.Practices.EnterpriseLibrary.Caching.Configuration.Unity; using Microsoft.Practices.EnterpriseLibrary.Common.Configuration.Unity; using Microsoft.Practices.Unity; using Microsoft.Practices.Unity.Configuration; namespace Website.EnterpriseLibrary { public class UnityIoCContainer : IIoCContainer { private readonly IUnityContainer container; public UnityIoCContainer() { container = new UnityContainer(); var section = (UnityConfigurationSection)ConfigurationManager.GetSection("unity"); section.Containers.Default.Configure(container); container.AddNewExtension(); container.AddNewExtension(); } public T Resolve() { return container.Resolve(); } public void Register(T instance) { container.RegisterInstance(instance); } } }