Beispiel #1
0
        private static void RegisterQueries(IIocContainer container)
        {
            ContractServices.LoadDependentAssemblies(typeof(ApiCompositionMarkType).Assembly);

            var queryContracts = ContractServices.GetAllServices(".Contracts", "Query");

            container.RegisterAllServicesFactoryTransient((r, type) =>
            {
                var optPack = (IOptimizationPackage)r.Resolver(typeof(IOptimizationPackage));
                return(ProxyFactory.CreateQueryProxy(type, optPack));
            }, queryContracts);
        }
Beispiel #2
0
        private static void RegisterCommands(IIocContainer container)
        {
            ContractServices.LoadDependentAssemblies(typeof(ApiCoordinationTypeMark).Assembly);

            var commandContracts = ContractServices.GetAllServices(".Contracts", "Command");

            container.RegisterPerGraph(
                new[] { typeof(IProxyContainer) },
                typeof(ProxyContainer));

            container.RegisterAllServicesFactoryTransient((r, type) =>
            {
                var optPack        = r.Resolver(typeof(IOptimizationPackage)) as IOptimizationPackage;
                var proxyContainer = r.Resolver(typeof(IProxyContainer)) as IProxyContainer;
                return(CommandServiceFactory.CreateCommandService(type, proxyContainer, optPack));
            }, commandContracts);
        }