コード例 #1
0
        public void AddUnity_Should_Chain_Existing_WebObjectActivator()
        {
            var existingSP = new Mock <IServiceProvider>();

            HttpRuntime.WebObjectActivator = existingSP.Object;

            var unityContainer = UnityAdapter.AddUnity();

            Assert.NotNull(HttpRuntime.WebObjectActivator);
            Assert.IsType <ContainerServiceProvider>(HttpRuntime.WebObjectActivator);
            Assert.Same(existingSP.Object, ((ContainerServiceProvider)HttpRuntime.WebObjectActivator).NextServiceProvider);
            Assert.NotNull(unityContainer);
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: KaterinaShumskaya/MyORM
        static void Main(string[] args)
        {
            IContainer ioc = null;
            while (ioc == null)
            {
                Console.WriteLine("Выберите IoC контейнер: 1-MyIoC, 2-Castle Windsor, 3-Unity, 4-Autofac");
                int iocNumber;
                int.TryParse(Console.ReadLine(), out iocNumber);
                switch (iocNumber)
                {
                    case 1:
                        {
                            ioc = new MyIOCContainer();
                            break;
                        }
                    case 2:
                        {
                            ioc = new WindsorAdapter();
                            break;
                        }
                    case 3:
                        {
                            ioc = new UnityAdapter();
                            break;
                        }
                    case 4:
                        {
                            ioc = new AutofacAdapter();
                            break;
                        }
                }
                if (ioc == null)
                {
                    Console.WriteLine("Неверный ввод!!!");
                }
            }
            var logger = new NLogAdapter();
            logger.Trace(String.Format("Выбран IoC : {0}", ioc.GetType()));
            ioc.Register<IList<Person>>(new List<Person>());
            ioc.Register<IDataAccessor<Person>, ListDataAccessor<Person>>();
            var dataAccessor = ioc.Resolve<IDataAccessor<Person>>();
            dataAccessor.Insert(new Person(1, "Петров", "Петр", "Петрович", 20));
            dataAccessor.Insert(new Person(2, "Иванов", "Иван", "Иванович", 25));
            foreach (var person in dataAccessor.GetAll())
            {
                logger.Info(String.Format("В коллекцию добавлен {0}", person.ToString()));
                Console.WriteLine(person.ToString());
            }

            Console.ReadKey();
        }
コード例 #3
0
        public static void Register(HttpConfiguration config)
        {
            // Web API configuration and services
            config.DependencyResolver = UnityAdapter.Resolve(config);

            // Web API routes
            config.MapHttpAttributeRoutes();

            config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{id}",
                defaults: new { id = RouteParameter.Optional }
                );

            var jsonFormatter = config.Formatters
                                .OfType <JsonMediaTypeFormatter>().First();

            jsonFormatter.SerializerSettings.ContractResolver
                = new CamelCasePropertyNamesContractResolver();
        }
コード例 #4
0
 public UnityAdapterTests()
 {
     container = new Mock<IUnityContainer>();
     adapter = new UnityAdapter(container.Object);
 }
コード例 #5
0
        public void Should_finalize()
        {
            adapter = null;

            GC.Collect();
            GC.WaitForPendingFinalizers();
        }
コード例 #6
0
ファイル: UnityAdapterTests.cs プロジェクト: olegil/Unity
 public UnityAdapterTests()
 {
     container = new Mock <IUnityContainer>();
     adapter   = new UnityAdapter(container.Object);
 }