Please refer to previous post for following classes implementation
- GuestBookDataContext
- GuestBookEntry
- GuestBookEntryDataSource
- 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
![](http://hi.csdn.net/attachment/201111/18/10223170_1321586333Ot0e.png)