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