Beispiel #1
0
        public static SimpleDataLayer CreateCachedDataLayer(this XafApplication xafApplication, IDataStore argsDataStore)
        {
            var cacheRoot = new DataCacheRoot(argsDataStore);
            var cacheNode = new DataCacheNode(cacheRoot);

            return(new SimpleDataLayer(XpandModuleBase.Dictiorary, cacheNode));
        }
        public static SimpleDataLayer CreateCachedDataLayer(this XafApplication xafApplication, IDataStore argsDataStore)
        {
            var cacheRoot = new DataCacheRoot(argsDataStore);
            var cacheNode = new DataCacheNode(cacheRoot);

            return(new SimpleDataLayer(XpoTypesInfoHelper.GetXpoTypeInfoSource().XPDictionary, cacheNode));
        }
Beispiel #3
0
        protected void Application_Start(object sender, EventArgs e)
        {
            string     connectionString = ConfigurationManager.ConnectionStrings["DXConnectionString"].ConnectionString;
            IDataStore provider         = XpoDefault.GetConnectionProvider(connectionString,
                                                                           AutoCreateOption.None);
            DataCacheRoot root = new DataCacheRoot(provider);

            Application.Add("DataStore", root);
        }
Beispiel #4
0
        static Service1()
        {
            string        connectionString = MSSqlConnectionProvider.GetConnectionString("localhost", "ServiceDB");
            IDataStore    dataStore        = XpoDefault.GetConnectionProvider(connectionString, AutoCreateOption.DatabaseAndSchema);
            DataCacheRoot dataCacheRoot    = new DataCacheRoot(dataStore);

            dataCacheRoot.Configure(new DataCacheConfiguration(DataCacheConfigurationCaching.InList, "Customer"));
            MainDataStore = dataCacheRoot;
        }
 public IDataStore CreateWorkingStore(out IDisposable[] disposableObjects)
 {
     if (root == null)
     {
         IDataStore baseDataStore = xpoDataStoreProvider.CreateWorkingStore(out rootDisposableObjects);
         root = new DataCacheRoot(baseDataStore);
     }
     disposableObjects = new IDisposable[0];
     return(new DataCacheNode(root));
 }
Beispiel #6
0
 public IDataStore CreateWorkingStore(out IDisposable[] disposableObjects) {
     disposableObjects = null;
     if ((ConfigurationManager.AppSettings["DataCache"] + "").Contains("Client")) {
         var cacheNode = HttpContext.Current.Application["DataStore"] as DataCacheNode;
         if (cacheNode == null) {
             var cacheRoot = new DataCacheRoot(Proxy.DataStore);
             cacheNode = new DataCacheNode(cacheRoot);
         }
         return cacheNode;
     }
     return Proxy;
 }
 public static void ResetDataCacheRoot()
 {
     root = null;
     if (rootDisposableObjects != null)
     {
         foreach (IDisposable disposableObject in rootDisposableObjects)
         {
             disposableObject.Dispose();
         }
         rootDisposableObjects = null;
     }
 }
 IDataStore IXafApplicationDataStore.GetDataStore(IDataStore dataStore)
 {
     if ((ConfigurationManager.AppSettings["DataCache"] + "").Contains("Client"))
     {
         if (_cacheNode == null)
         {
             var _cacheRoot = new DataCacheRoot(dataStore);
             _cacheNode = new DataCacheNode(_cacheRoot);
         }
         return(_cacheNode);
     }
     return(null);
 }
Beispiel #9
0
 IDataStore IXafApplication.GetDataStore(IDataStore dataStore)
 {
     if ((ConfigurationManager.AppSettings["DataCache"] + "").Contains("Client"))
     {
         var cacheNode = HttpContext.Current.Application["DataStore"] as DataCacheNode;
         if (cacheNode == null)
         {
             var _cacheRoot = new DataCacheRoot(dataStore);
             cacheNode = new DataCacheNode(_cacheRoot);
         }
         return(cacheNode);
     }
     return(null);
 }
Beispiel #10
0
 public IDataStore CreateWorkingStore(out IDisposable[] disposableObjects)
 {
     disposableObjects = null;
     if ((ConfigurationManager.AppSettings["DataCache"] + "").Contains("Client"))
     {
         var cacheNode = HttpContext.Current.Application["DataStore"] as DataCacheNode;
         if (cacheNode == null)
         {
             var cacheRoot = new DataCacheRoot(Proxy.DataStore);
             cacheNode = new DataCacheNode(cacheRoot);
         }
         return(cacheNode);
     }
     return(Proxy);
 }
Beispiel #11
0
        IDataStore IXpoDataStoreProvider.CreateWorkingStore(out IDisposable[] disposableObjects)
        {
            if (base.CreateWorkingStore(out rootDisposableObjects) is ConnectionProviderSql connectionProvider)
            {
                connectionProvider.DefaultCommandTimeout = new TimeSpan(0, 5, 0).Milliseconds;
            }

            if (root == null)
            {
                root = new DataCacheRoot(base.CreateWorkingStore(out rootDisposableObjects));
            }

            disposableObjects = new IDisposable[0];
            return(new DataCacheNode(root));
        }
 static IDataStore CreateDataStore(string connectionString, bool enableCaching) {
     if (!enableCaching) {
         var connectionProvider = XpoDefault.GetConnectionProvider(connectionString, AutoCreateOption.DatabaseAndSchema);
         XpoDefault.Session = null;
         return connectionProvider;
     }
     var dataStore = HttpContext.Current.Application["datastore"] as IDataStore;
     if (dataStore == null) {
         var subjectForCache = XpoDefault.GetConnectionProvider(connectionString, AutoCreateOption.DatabaseAndSchema);
         var _cacheRoot = new DataCacheRoot(subjectForCache);
         dataStore = new DataCacheNode(_cacheRoot);
         HttpContext.Current.Application["datastore"] = dataStore;
     }
     XpoDefault.Session = null;
     return dataStore;
 }
Beispiel #13
0
        protected override IDataLayer CreateDataLayer(IDataStore workingDataStore)
        {
            var cacheRoot = new DataCacheRoot(workingDataStore);
            var cacheNode = new DataCacheNode(cacheRoot);

            //下面这种方式是仅用 PmsOrder表、EdsProd表
            //var cfg = new DataCacheConfiguration(DataCacheConfigurationCaching.InList, "PmsOrder","EdsProd");
            //下面的方式是关闭除指定的。其他的,都启用。
            var cfg = new DataCacheConfiguration(DataCacheConfigurationCaching.NotInList, "Online", "OnlineItem");

            cacheRoot.Configure(cfg);
            //可以自己选用一种方式,然后开启上面这行

            if (this.threadSafe)
            {
                return(new ThreadSafeDataLayer(this.XPDictionary, cacheNode, new Assembly[0]));
            }
            return(new SimpleDataLayer(this.XPDictionary, cacheNode));
        }
Beispiel #14
0
        static IDataStore CreateDataStore(string connectionString, bool enableCaching)
        {
            if (!enableCaching)
            {
                var connectionProvider = XpoDefault.GetConnectionProvider(connectionString, AutoCreateOption.DatabaseAndSchema);
                XpoDefault.Session = null;
                return(connectionProvider);
            }
            var dataStore = HttpContext.Current.Application["datastore"] as IDataStore;

            if (dataStore == null)
            {
                var subjectForCache = XpoDefault.GetConnectionProvider(connectionString, AutoCreateOption.DatabaseAndSchema);
                var _cacheRoot      = new DataCacheRoot(subjectForCache);
                dataStore = new DataCacheNode(_cacheRoot);
                HttpContext.Current.Application["datastore"] = dataStore;
            }
            XpoDefault.Session = null;
            return(dataStore);
        }
Beispiel #15
0
 DataCacheNode IXafApplication.GetDataCacheRoot(IDataStore dataStore) {
     if ((ConfigurationManager.AppSettings["DataCache"] + "").Contains("Client")) {
         if (_cacheNode == null) {
             var _cacheRoot = new DataCacheRoot(dataStore);
             _cacheNode = new DataCacheNode(_cacheRoot);
         }
         return _cacheNode;
     }
     return null;
 }
Beispiel #16
0
 IDataStore IXafApplicationDataStore.GetDataStore(IDataStore dataStore) {
     if ((ConfigurationManager.AppSettings["DataCache"] + "").Contains("Client")) {
         var cacheNode = HttpContext.Current.Application["DataStore"] as DataCacheNode;
         if (cacheNode == null) {
             var _cacheRoot = new DataCacheRoot(dataStore);
             cacheNode = new DataCacheNode(_cacheRoot);
         }
         return cacheNode;
     }
     return null;
 }