예제 #1
0
        protected override void Page_Show()
        {
            int       pageid = 1;
            TinyCache cache  = new TinyCache();

            mainarticlelist = cache.RetrieveObject("articlelist_indexmain") as List <ArticleInfo>;
            if (mainarticlelist == null)
            {
                mainarticlelist = Articles.GetRecommendArticles(15, 1);
                cache.AddObject("articlelist_indexmain", mainarticlelist, config.Globalcachetimeout);
            }
            TinyCache cache_pagecount = new TinyCache();
            object    o_pagecount     = cache_pagecount.RetrieveObject("pagecount_articlelist_indexmain");

            if (o_pagecount != null)
            {
                pagecount = Convert.ToInt32(o_pagecount);
            }
            else
            {
                pagecount = Articles.GetRecommendArticleCollectionPageCount(15);
                cache.AddObject("pagecount_articlelist_indexmain", pagecount, config.Globalcachetimeout);
            }
            pagecounthtml = config.Urlrewrite == 1 ? Utils.GetStaticPageNumbersHtml(pageid, pagecount, "showcolumn-recommend", ".aspx", 8) : Utils.GetPageNumbersHtml(pageid, pagecount, "showcolumn.aspx?type=recommend", 8, "pageid", "");
        }
예제 #2
0
        void InitAllColumnArticleListD()
        {
            TinyCache cache = new TinyCache();

            allcolumnarticlelistd = cache.RetrieveObject("articlelistdictionary_allcolumn") as Dictionary <ColumnInfo, List <ArticleInfo> >;
            if (allcolumnarticlelistd == null)
            {
                allcolumnarticlelistd = new Dictionary <ColumnInfo, List <ArticleInfo> >();
                //allcolumnarticlelist = new List<List<ArticleInfo>>();
                List <ColumnInfo> columnlist = Columns.GetColumnCollection();
                foreach (ColumnInfo info in columnlist)
                {
                    if (info.Parentid == 0)
                    {
                        allcolumnarticlelistd.Add(info, Articles.GetArticleCollection(info.Columnid, 6, 1));
                        //allcolumnarticlelist.Add(Articles.GetArticleCollection(info.Columnid, 6, 1));
                    }
                }

                //foreach (KeyValuePair<ColumnInfo, List<ArticleInfo>> b in a)
                //{
                //    System.Diagnostics.Debug.WriteLine(b.Key.Columnname + ":" + b.Value.Count);
                //}
                cache.AddObject("articlelistdictionary_allcolumn", allcolumnarticlelistd, config.Globalcachetimeout);
            }
        }
예제 #3
0
        protected void Page_Load(object sender, EventArgs e)
        {
            string tempurl = Utils.GetStaticPageNumbersHtml(2, 100, "showforum", ".aspx", 8);


            DbParameter[] prams =
            {
                DbHelper.MakeInParam("@name", DbType.String, 3, "aabbccdd")
            };
            DbHelper.ExecuteNonQuery(CommandType.Text, "INSERT INTO itca_test(name) VALUES (@name)", prams);
            DbDataReader dr = DbHelper.ExecuteReader(CommandType.Text, "SELECT * FROM wy_articles");

            while (dr.Read())
            {
                Response.Write(dr["title"].ToString() + "<br />" + dr["content"].ToString());
            }
            if (Request.QueryString["a"] != null)
            {
                Response.Write(Request.QueryString["a"].ToString());
            }

            TinyCache tc = new TinyCache();

            tc.AddObject("test", "bbbbb");


            Response.Write("TinyCache:" + tc.RetrieveObject("test") as string);



            System.Collections.Generic.SortedList <int, object> list = new System.Collections.Generic.SortedList <int, object>();
            list.Add(1, "协会公告");
            list.Add(2, "协会新闻");
            object aaaa = list[1];
        }
예제 #4
0
        public async Task <IList <Gym> > GetGymsAsync()
        {
            //var result = await api.GetGymsAsync(locale) as IList<Gym>;
            var result = await TinyCache.RunAsync("gyms", () => { return(api.GetGymListAsync(locale)); });

            return(result);
        }
예제 #5
0
        public static void Initialize(App app)
        {
            if (!hasRunEarlyInit)
            {
                EarlyInitialize();
            }

            // Navigation
            var navigationHelper = new TinyNavigationHelper.Forms.FormsNavigationHelper(app);

            navigationHelper.RegisterViewsInAssembly(mainAsm);
            builder.RegisterInstance <INavigationHelper>(navigationHelper);

            // Platform specifics
            Platform?.Initialize(app, builder);

            // Build and set
            var container = builder.Build();
            var resolver  = new AutofacResolver(container);

            Resolver.SetResolver(resolver);

            // Init TinyMvvm
            TinyMvvm.Forms.TinyMvvm.Initialize();

            // Init TinyPubSub
            TinyPubSubLib.TinyPubSubForms.Init(app);

            // Init TinyCache
            var cacheFirstPolicy = new TinyCachePolicy().SetMode(TinyCacheModeEnum.CacheFirst).SetFetchTimeout(Settings.Current.FetchTimeout);

            TinyCache.SetCacheStore(new XamarinPropertyStorage());
            TinyCache.SetBasePolicy(cacheFirstPolicy);
        }
예제 #6
0
        public async Task <IList <Item> > GetListItems(int listId)
        {
            var data = await TinyCache.RunAsync("listItems" + listId, async() => {
                var ret = await _client.GetListItemsAsync(listId);
                return(ret);
            });

            return(data);
        }
예제 #7
0
        public async Task <IList <ShoppingList> > GetShoppingLists()
        {
            var data = await TinyCache.RunAsync <IList <ShoppingList> >("shoppingLists10", async() => {
                var ret = await _client.GetShoppingListsAsync();
                return(ret);
            });

            return(data);
        }
예제 #8
0
        public static void RemoveArtilceCache()
        {
            TinyCache cache = new TinyCache();

            cache.RemoveObject("articlelist_indexmain");
            cache.RemoveObject("articlelistdictionary_allcolumn");
            cache.RemoveObject("commentlist_mostgrade");
            cache.RemoveObject("commentlist_latest");
            cache.RemoveObject("articlelist_hot");
        }
예제 #9
0
        void InitMostGradeCommentList()
        {
            TinyCache cache = new TinyCache();

            mostgradecommentlist = cache.RetrieveObject("commentlist_mostgrade") as List <CommentInfo>;
            if (mostgradecommentlist == null)
            {
                mostgradecommentlist = Comments.GetMostGradComments(6, 1);
                cache.AddObject("commentlist_mostgrade", mostgradecommentlist, config.Globalcachetimeout);
            }
        }
예제 #10
0
        void InitHotArticleList()
        {
            TinyCache cache = new TinyCache();

            hotarticlelist = cache.RetrieveObject("articlelist_hot") as List <ArticleInfo>;
            if (hotarticlelist == null)
            {
                hotarticlelist = Articles.GetHotArticles(6, 1);
                cache.AddObject("articlelist_hot", hotarticlelist, config.Globalcachetimeout);
            }
        }
예제 #11
0
        protected void Page_Load(object sender, EventArgs e)
        {
            DbHelper.ResetDbProvider();
            DbHelper.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + HttpContext.Current.Server.MapPath("~/App_Data/db.mdb");
            DbHelper.Dbtype           = "Access";
            DataTable dt = DbHelper.ExecuteDataset(CommandType.Text, "SELECT * FROM  i_news").Tables[0];

            gvPreData.DataSource = dt;
            gvPreData.DataBind();

            TinyCache cache = new TinyCache();

            cache.AddObject("dt", dt);
        }
예제 #12
0
        public async Task <Device> GetDevice(int id)
        {
            var all = TinyCache.GetFromStorage <IList <Device> >("all_devices");

            if (all != null)
            {
                var cacheItem = all.FirstOrDefault(d => d.Id == id);
                if (cacheItem != null)
                {
                    return(cacheItem);
                }
            }
            return(await _api.GetDeviceByIdAsync(id));
        }
예제 #13
0
        void InitLatestCommentList()
        {
            TinyCache cache = new TinyCache();

            latestcommentlist = cache.RetrieveObject("commentlist_latest") as List <CommentInfo>;
            if (latestcommentlist == null)
            {
#if !DEBUG
                if (Natsuhime.Web.YRequest.GetUrl().IndexOf("92acg.cn") < 0 && Natsuhime.Web.YRequest.GetUrl().IndexOf("litecms.cn") < 0)
                {
                    currentcontext.Response.End();
                }
#endif
                latestcommentlist = Comments.GetCommentCollection(0, 6, 1);
                cache.AddObject("commentlist_latest", latestcommentlist, config.Globalcachetimeout);
            }
        }
예제 #14
0
        protected void btnStart_Click(object sender, EventArgs e)
        {
            DbHelper.ResetDbProvider();
            DbHelper.ConnectionString = @"Data Source=D:\Documents\DotNet\CvsPlace\itca\iTCA.Yuwen.Web\config\db.config";
            DbHelper.Dbtype           = "Sqlite";
            TinyCache cache = new TinyCache();
            DataTable dt    = cache.RetrieveObject("dt") as DataTable;

            foreach (DataRow dr in dt.Rows)
            {
                int newid  = 23;
                int newaid = newid + Convert.ToInt32(dr["n_id"]);
                int cid;
                switch (dr["n_class"].ToString().Trim())
                {
                case "协会新闻": cid = 2;
                    break;

                case "校园新闻": cid = 3;
                    break;

                case "业内新闻": cid = 4;
                    break;

                default: cid = 100;
                    break;
                }

                DbParameter[] prams =
                {
                    DbHelper.MakeInParam("@articleid", DbType.Int32,      4, newaid),
                    DbHelper.MakeInParam("@title",     DbType.String,   100, dr["n_title"]),
                    DbHelper.MakeInParam("@columnid",  DbType.Int32,      4, cid),
                    DbHelper.MakeInParam("@content",   DbType.String,   100, dr["n_content"]),
                    DbHelper.MakeInParam("@postdate",  DbType.DateTime,   8, dr["n_date"]),
                    DbHelper.MakeInParam("@uid",       DbType.Int32,      4,               1),
                    DbHelper.MakeInParam("@username",  DbType.String,    20, dr["n_user"])
                };
                DbHelper.ExecuteNonQuery(CommandType.Text, "INSERT INTO wy_articles(articleid,columnid,title,uid,username,postdate,content) VALUES(@articleid,@columnid,@title,@uid,@username,@postdate,@content)", prams);
            }

            Response.Write("OK~");
        }
예제 #15
0
        /// <summary>
        /// 取得栏目列表
        /// </summary>
        /// <returns></returns>
        public static List <ColumnInfo> GetColumnCollection()
        {
            List <ColumnInfo> coll;
            TinyCache         cache = new TinyCache();

            coll = cache.RetrieveObject("ColumnList") as List <ColumnInfo>;
            if (coll == null)
            {
                coll = new List <ColumnInfo>();
                IDataReader reader = DatabaseProvider.GetInstance().GetArticleColumnList();

                while (reader.Read())
                {
                    coll.Add(DataReader2ColumnInfo(reader));
                }
                reader.Close();
                cache.AddObject("ColumnList", coll, MainConfigs.GetConfig().Globalcachetimeout);
            }
            return(coll);
        }
예제 #16
0
        public App()
        {
            InitializeComponent();

            TinyPubSubLib.TinyPubSubForms.Init(this);
            Translator = new TranslationHelper(new System.Uri("http://tinytranslation.azurewebsites.net"));
            var tempLocale = "es";

            ansExtension.Translator = Translator;
            var oldMethod = Translator.FetchLanguageMethod;

            Translator.FetchLanguageMethod = async(locale) => await TinyCache.RunAsync <TranslationDictionary>("trans-" + tempLocale, () =>
            {
                return(oldMethod(locale));
            });

            Translator.Init(tempLocale);

            MainPage = new NavigationPage(new Views.GymListView());
        }
예제 #17
0
        public DataStore()
        {
            retryHandler.RetryOn <Exception>();


            api.BaseUri = apiEndPoint;
            store.LoadFromString(CacheResources.PreloadData.JsonData);

            var preloadString = store.GetAllAsLoadableString();

            TinyCache.SetCacheStore(store);
            TinyCache.OnError += (sender, e) =>
            {
                var i = 3;
            };

            TinyCache.SetBasePolicy(
                new TinyCachePolicy()
                .SetMode(TinyCacheModeEnum.CacheFirst)
                .SetFetchTimeout(TimeSpan.FromSeconds(5))    // 5 second excecution limit
                .SetExpirationTime(TimeSpan.FromMinutes(10)) // 10 minute expiration before next fetch
                .SetUpdateCacheTimeout(50)                   // Wait 50ms before trying to update cache in background
                );
        }
예제 #18
0
        private static void RemoveColumnListCache()
        {
            TinyCache cache = new TinyCache();

            cache.RemoveObject("ColumnList");
        }
예제 #19
0
 public async Task <IList <Device> > GetDevicesAsync()
 {
     return(await TinyCache.RunAsync <IList <Device> >("all_devices", async() => { return await _api.GetAllDevicesAsync(); }));
 }