コード例 #1
0
        /// <summary>
        /// Asynchronously loads binary data of an image from the database using the DatabaseWorker.
        /// </summary>
        /// <param name="query">SQL query to be sent to the database</param>
        /// <returns>String representation of the binary data</returns>
        public string LoadDBImageAsync(string query)
        {
            DatabaseWorker dw = new DatabaseWorker();

            byte[] contents = dw.binaryQueryDB(query);

            string base64string = Convert.ToBase64String(contents);
            LoadCompleted(new LoadCompletedEventArgs(base64string, null, false, null));
            return base64string;
        }
コード例 #2
0
        /// <summary>
        /// Loads images from database synchronously.
        /// </summary>
        /// <returns>View of images</returns>
        public ActionResult GetImagesSynchronous()
        {
            DatabaseWorker dw = new DatabaseWorker();
            DatabaseWorker.connectDB();
            ViewBag.Images = new ArrayList();
            ViewBag.Tables = new ArrayList();
            for (int j = 0; j < 10; j++)
            {
                int count = dw.intQueryDB("select count(*) from Images");

                for (int i = 1; i <= count; i++)
                {
                    byte[] contents = dw.binaryQueryDB("select image from Images where imageID = " + i + " and exists (select * from ArticleAttachments where ImageID = " + i + ")");

                    // Place image contents in an array of images in viewbag
                    ViewBag.Images.Add("data:image/jpeg;base64," + Convert.ToBase64String(contents));

                }
            }
            DatabaseWorker.disconnectDB();
            ViewBag.Title = "Synchronous Test Loading Media From Database";
            return View("RegularQueries");
        }
コード例 #3
0
        public ActionResult GetMediaCache()
        {
            DatabaseWorker dw = new DatabaseWorker();
            DatabaseWorker.connectDB();
            ViewBag.Tables = new ArrayList();
            ViewBag.Images = new ArrayList();
            for (int j = 0; j < 10; j++)
            {
                int count = dw.intQueryDB("select count(*) from Images");

                for (int i = 1; i <= count; i++)
                {
                    byte[] contents;
                    object cached = HttpRuntime.Cache.Get("DB.Images." + i);
                    if (cached == null)
                    {
                        contents = dw.binaryQueryDB("select image from Images where imageID = " + i + " and exists (select * from ArticleAttachments where ImageID = " + i + ")");
                        HttpRuntime.Cache.Insert("DB.Images." + i, contents, null, System.Web.Caching.Cache.NoAbsoluteExpiration, new TimeSpan(0, 1, 0));
                    }
                    else
                    {
                        contents = (byte[])cached;
                    }

                    ViewBag.Images.Add("data:image/jpeg;base64," + Convert.ToBase64String(contents));

                }
            }

            DatabaseWorker.disconnectDB();
            ViewBag.Title = "Caching Test Loading Media From Database";
            return View("RegularQueries");
        }