Esempio n. 1
0
        public void ConnectToDownNode(CacheNode node, TimeSpan delay)
        {
            var uplink   = node.GetUpLink();
            var downlink = new NodeDownlink();

            uplink.Subscribers.Add(downlink);
            _container.ComposeExportedValue(downlink);
            _getter  = new Downgetter(node._container, delay);
            _poster  = new Downposter(node._container, delay);
            _querier = new LinkQuery(node._container, delay);
        }
Esempio n. 2
0
        private CompositionContainer CreateContainerNode(string name, Assembly ass, Store store)
        {
            Name = name;
            var catalog = new AggregateCatalog(
                new AssemblyCatalog(typeof(ITypedPool).Assembly),
                new TypeCatalog(typeof(DefaultSecProvider), typeof(SecContextFactor)),
                new AssemblyCatalog(ass),
                new TypeCatalog(typeof(SQLLogger))
                );
            var container = new CompositionContainer(catalog);

            container.ComposeExportedValue(store);
            _getter  = new Factory();
            _poster  = new Writer();
            _querier = new StoreQuerier();
            return(container);
        }
Esempio n. 3
0
 internal static Query CreateFromFactory(Guid key,string resName, string nmspace, ParameterNames parameters,IResourceQuerierFactory querierFactory)
 {
     var query = new Query(new QueryInfo(key, new ParameterNames(parameters), nmspace,null),
                           Enumerable.Repeat(typeof(string),parameters.Count()).ToArray(),
                           typeof(IEnumerable<Guid>))
     {
         _orderedArguments = parameters.ToArray(),
         _queryMethod = k=> querierFactory.CreateQuerier(resName, nmspace,
                                           parameters.ToArray())(k),              
     };
   
     return query;
 }
Esempio n. 4
0
        internal static Query CreateFromFactory(Guid key, string resName, string nmspace, ParameterNames parameters, IResourceQuerierFactory querierFactory)
        {
            var query = new Query(new QueryInfo(key, new ParameterNames(parameters), nmspace, null),
                                  Enumerable.Repeat(typeof(string), parameters.Count()).ToArray(),
                                  typeof(IEnumerable <Guid>))
            {
                _orderedArguments = parameters.ToArray(),
                _queryMethod      = k => querierFactory.CreateQuerier(resName, nmspace,
                                                                      parameters.ToArray())(k),
            };

            return(query);
        }