Azure Basic - Retrieve data from BlockBlob, Table and Queue

来源:互联网 发布:中南大学的网络教育 编辑:程序博客网 时间:2024/05/29 04:27

Please refer to previous post for following classes implementation

  1. GuestBookDataContext
  2. GuestBookEntry
  3. GuestBookEntryDataSource
  4. Global.asax
Let us start....

Read Blob Data
using System;using System.Collections.Generic;using System.Linq;using System.Web;using Microsoft.WindowsAzure.StorageClient;using Microsoft.WindowsAzure;namespace WebRole1{    /// <summary>    /// Summary description for ImageHandler    /// </summary>    public class ImageHandler : IHttpHandler    {        private static CloudBlobClient blobStorage;        public void ProcessRequest(HttpContext context)        {            #region get image from blog            var storageAccount = CloudStorageAccount.FromConfigurationSetting("DataConnectionString");            blobStorage = storageAccount.CreateCloudBlobClient();            CloudBlobContainer container = blobStorage.GetContainerReference("guestbookpics");            container.CreateIfNotExist();            string uniqueBlobName = "image_1b6cee4b-04b1-4040-84ff-abee92353ae1.jpg";            CloudBlockBlob b = container.GetBlockBlobReference(uniqueBlobName);            BlobStream blobstream = b.OpenRead();            System.Drawing.Image objimg = null;            objimg = System.Drawing.Image.FromStream(blobstream, true);            context.Response.Clear();            context.Response.ContentType = "image/gif";            objimg.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);            #endregion        }        public bool IsReusable        {            get            {                return false;            }        }    }}

Read Table and Queue Data
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using Microsoft.WindowsAzure;using Microsoft.WindowsAzure.StorageClient;namespace WebRole1{    public partial class About : System.Web.UI.Page    {        private static CloudQueueClient queueStorage;        protected void Page_Load(object sender, EventArgs e)        {                    }        protected void btnShow_Click(object sender, EventArgs e)        {            var storageAccount = CloudStorageAccount.FromConfigurationSetting("DataConnectionString");                        #region read image from block blob            Image1.ImageUrl = "ImageHandler.ashx";            #endregion            #region read image information from table            GuestBookEntryDataSource ds = new GuestBookEntryDataSource();            GridView1.DataSource = ds.Select();            GridView1.DataBind();            #endregion            #region read message from queue            queueStorage = storageAccount.CreateCloudQueueClient();            CloudQueue queue = queueStorage.GetQueueReference("guestthumbs");            queue.CreateIfNotExist();            var msg = queue.GetMessage();            if (msg != null)            {                lblQueueName.Text = msg.AsString;                queue.DeleteMessage(msg);            }            #endregion          }    }}

Result

原创粉丝点击