Пример #1
0
        private IXpoDataStoreProvider GetDataStoreProvider(CreateCustomObjectSpaceProviderEventArgs args)
        {
            var application = HttpContext.Current != null ? HttpContext.Current.Application : null;
            IXpoDataStoreProvider dataStoreProvider;

            if (application?["DataStoreProvider"] != null)
            {
                dataStoreProvider = application["DataStoreProvider"] as IXpoDataStoreProvider;
            }
            else
            {
                dataStoreProvider = new ConnectionStringDataStoreProvider(args.ConnectionString);
                if (args.ConnectionString.Contains("Memory"))
                {
                    dataStoreProvider = new MemoryDataStoreProvider();
                }
                // dataStoreProvider = new ConnectionStringDataStoreProvider(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
                if (application != null)
                {
                    application["DataStoreProvider"] = dataStoreProvider;
                }
            }

            return(dataStoreProvider);
        }
        public static IXpoDataStoreProvider CachedInstance(this IXpoDataStoreProvider dataStoreProvider)
        {
            if (dataStoreProvider.ConnectionString == InMemoryDataStoreProvider.ConnectionString)
            {
                dataStoreProvider = new MemoryDataStoreProvider();
            }
            string key = dataStoreProvider.GetType().Name;

            if (HttpContext.Current.Application[key] != null)
            {
                return((IXpoDataStoreProvider)HttpContext.Current.Application[key]);
            }
            HttpContext.Current.Application[key] = dataStoreProvider;
            return(dataStoreProvider);
        }
        private IXpoDataStoreProvider GetDataStoreProvider()
        {
            var application = HttpContext.Current != null ? HttpContext.Current.Application : null;
            IXpoDataStoreProvider dataStoreProvider;

            if (application?["DataStoreProvider"] != null)
            {
                dataStoreProvider = application["DataStoreProvider"] as IXpoDataStoreProvider;
            }
            else
            {
                dataStoreProvider = new MemoryDataStoreProvider();
                if (application != null)
                {
                    application["DataStoreProvider"] = dataStoreProvider;
                }
            }

            return(dataStoreProvider);
        }