| Сайт dreamspark пишет что код истек :( | 
Работа с блобами, таблицами и очередями Windows Azure Storage в локальном эмуляторе
Создайте новый облачный проект (Cloud Service) в Visual Studio 2012.
Добавьте в проект одну Web-роль.
Добавьте функциональность работы с блобами. Добавьте в файл Default.aspx.cs в определение класса _Default следующий код:
    CloudStorageAccount _cloudStorageAccount;
        CloudBlobClient _blobClient;
        CloudBlobContainer _blobContainer;
        BlobContainerPermissions _permissions;
        CloudBlockBlob _blob;Добавьте в метод Page_Load код, приведенный ниже.
_cloudStorageAccount = CloudStorageAccount.DevelopmentStorageAccount;
            _blobClient = _cloudStorageAccount.CreateCloudBlobClient();
            _blobContainer = _blobClient.GetContainerReference("mycontainer");
            _blobContainer.CreateIfNotExists();
            _permissions = new BlobContainerPermissions();
            _permissions.PublicAccess = BlobContainerPublicAccessType.Blob;
            _blobContainer.SetPermissions(_permissions);
            _blob = _blobContainer.GetBlockBlobReference("image.jpg");
            using (var fileStream = System.IO.File.OpenRead(@"c:\temp\image.jpg"))
            {
                _blob.UploadFromStream(fileStream);
            }          
            Response.Write("<img style='width:20%;height:20%;' src='"+_blob.Uri+"'></img>");
            Response.Write("<br />");
            Response.Write("Файл загружен по адресу " + _blob.Uri);
Нажмите F5 для запуска приложения в локальном эмуляторе вычислений.
Доступ к файлу может быть получен в браузере. Также доступ к хранилищу может быть произведен из Visual Studio Server Explorer.
Добавьте в приложение поддержку таблиц Windows Azure Storage. Для этого добавьте в приложение класс с названием ImageEntity. Сущности данного класса будут работать как отображающие объектную модель в хранилище Windows Azure Storage.
Добавьте в класс ImageEntity код, приведенный ниже.
public ImageEntity(string name, long size)
        {
            this.PartitionKey = "1";
            this.RowKey = DateTime.Now.ToString();
            this.Name = name;
            this.Size = size;
        }
        public ImageEntity() { }
        public string Name { get; set; }
        public long Size { get; set; }
Добавьте в метод Page_Load файла Default.aspx.cs код, приведенный ниже.
CloudTableClient _tableClient = _cloudStorageAccount.CreateCloudTableClient();
            CloudTable _table = _tableClient.GetTableReference("images");
            _table.CreateIfNotExists();
          
            _blob.FetchAttributes();
            ImageEntity image = new ImageEntity(_blob.Name, _blob.Properties.Length);
            TableOperation insertOperation = TableOperation.Insert(image);
            _table.Execute(insertOperation);
            TableQuery<ImageEntity> query = new TableQuery<ImageEntity>().Where
(TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, "1"));
            Response.Write("<br />");
            foreach (ImageEntity entity in _table.ExecuteQuery(query))
            {
                Response.Write(String.Format("Сущность, добавленная {0}, имеет имя {1} и размер {2} <br />",
 entity.RowKey, entity.Name, entity.Size)
                    );
            }
Обратите внимание на выполняемый метод FetchAttributes. Он необходим для того, чтобы получить метаданные блоба, в которых, в том числе, находится информация о размере блоба.
Нажмите F5 для запуска приложения в локальном эмуляторе вычислений. Обновите несколько раз страницу.
Доступ к файлу может быть получен в браузере. Также доступ к таблице может быть произведен из Visual Studio Server Explorer.
Добавьте в приложение поддержку очередей Windows Azure Storage. Для этого добавьте код, приведенный ниже, в метод Page_Load.
CloudQueueClient _queueClient = _cloudStorageAccount.CreateCloudQueueClient();
            CloudQueue _queue = _queueClient.GetQueueReference("myqueue");
            _queue.CreateIfNotExists();
            Response.Write("Сообщение добавляется в очередь "+_queue.Name +"<br />");
           CloudQueueMessage message = new CloudQueueMessage(_blob.Uri.ToString());
            _queue.AddMessage(message);
            Response.Write("Сообщение было добавлено<br />");
            CloudQueueMessage retrievedMessage = _queue.GetMessage();
            Response.Write("Получение первого сообщение из очереди<br />");
            _queue.DeleteMessage(retrievedMessage);
            Response.Write("Полученное сообщение:" +retrievedMessage.AsString + 
" с идентификатором:"+retrievedMessage.Id +" было добавлено в очередь:" +retrievedMessage.InsertionTime);
Нажмите F5 для запуска приложения в локальном эмуляторе вычислений.
Доступ к файлу может быть получен в браузере. Также доступ к сущностям, хранящимся в очереди Windows Azure Storage, может быть произведен из Visual Studio Server Explorer.
увеличить изображение
Рис. 9.7. Доступ к сущностям, хранящимся в очереди Windows Azure Storage из Visual Studio Server Explorer
 
                             








