ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 21.04.2024
Просмотров: 58
Скачиваний: 3
Литература
2. Windows Azure Platform Training Kit - January 2011 Update
Практическая работа номер 6
Работа с Tables
Цель работы
Целью лабораторной работы является практическое освоение процесса работы с Tables в Windows Azure.
Аппаратура и программные инструменты, необходимые для лабораторной работы
Настольный или портативный компьютер, поддерживающий виртуализацию,
операционная система Microsoft Windows XP, Vista, Windows 7.
Доступ к сети Интернет. Наличие аккаунта Windows Azure.
Продолжительность лабораторной работы
2 академических часа
1.Настройка Storage Account Settings
1.Откройте меню Пуск | Все программы| Microsoft Visual Studio 2010 | Microsoft Visual Studio 2010.
2.В меню File выберите Open и затем Project/Solution. Откройте файл проекта
ExploringWindowsAzureStorageVS2010\Source\Ex01WorkingWithTables\begin\C#\begin.sln
3. Убедитесь что проект RdChat_WebRole запускается по умолчанию.
4.В Solution Explorer, в проекте RdChat нажмите правой кнопкой по узлу
RdChat_WebRole и выберите Properties
5.На закладке Settings создайте ConnectionString с именем DataConnectionString. Выберите Use development storage
6.Сохраните изменения
2.Создание классов для модели Model the Table Schema
1.В Solution Explorer нажмите правой кнопкой по проекту RdChat_WebRole, выберите Add Reference, затем выберите закладку .NET, выделите компонент
System.Data.Service.Client и нажмите OK.
2.Нажмите правой кнопкой мыши по RdChat_WebRole в Solution Explorer,
выберите Add, затем Class. В диалоге Add New Item введите имя Message.cs и нажмите Add.
3.Обновите класс
public class Message : Microsoft.WindowsAzure.StorageClient.TableServiceEntity
{
}
4.Добавьте конструктор public Message()
{
PartitionKey = "a";
RowKey = string.Format("{0:10}_{1}", DateTime.MaxValue.Ticks - DateTime.Now.Ticks, Guid.NewGuid());
}
5.Добавьте два свойства public string Name { get; set; } public string Body { get; set; }
6.Сохраните изменения в Message.cs
7.Нажмите правой кнопкой мыши по RdChat_WebRole в Solution Explorer,
выберите Add, затем Class. В диалоге Add New Item введите имя
MessageDataServiceContext.cs и нажмите Add.
8.Добавьте пространства имен в начало файла using Microsoft.WindowsAzure.StorageClient; using Microsoft.WindowsAzure;
9.Замените объявление класса namespace RdChat_WebRole
{
public class MessageDataServiceContext : TableServiceContext
{
public MessageDataServiceContext(string baseAddress, StorageCredentials
credentials)
: base(baseAddress, credentials)
{
}
}
}
10.Добавьте свойство
public IQueryable<Message> Messages
{
get
{
return this.CreateQuery<Message>("Messages");
}
}
11.Добавьте метод
public void AddMessage(string name, string body)
{
this.AddObject("Messages", new Message { Name = name, Body = body }); this.SaveChanges();
}
12.В меню Build выберите Build Solution.
3.Создание пользовательского интерфейса Chat
1.В файле Global.asax.cs найдите медо Application_Start и вставьте следующий код.
protected void Application_Start()
{
...
///Create data table from MessageDataServiceContext
///It is recommended the data tables should be only created once. It is typically done as
a
///provisioning step and rarely in application code.
var account = CloudStorageAccount.FromConfigurationSetting("DataConnectionString");
// dynamically create the tables CloudTableClient.CreateTablesFromModel(typeof(MessageDataServiceContext),
account.TableEndpoint.AbsoluteUri, account.Credentials);
}
2.Убедитесь что в файле Global.asax.cs объявлены пространства имен using Microsoft.WindowsAzure;
using Microsoft.WindowsAzure.ServiceRuntime; using Microsoft.WindowsAzure.StorageClient;
3.Разверните узел RDChat_WebRole в Solution Explorer, откройте меню правой кнопкой мыши на Default.aspx и выберите View Code. У бедитесь что следующие пространства имен есть в файле Default.aspx.cs / Default.aspx.vb
using System.Data.Services.Client; using Microsoft.WindowsAzure;
4.В файле Default.aspx.cs найдите событие SubmitButton_Click и вставьте следующий код
protected void SubmitButton_Click(object sender, EventArgs e)
{
var statusMessage = String.Empty;
try
{
var account = CloudStorageAccount.FromConfigurationSetting("DataConnectionString");
var context = new MessageDataServiceContext(account.TableEndpoint.ToString(), account.Credentials);
context.AddMessage(this.nameBox.Text, this.messageBox.Text);
this.messageList.DataSource = context.Messages; this.messageList.DataBind();
}
catch (DataServiceRequestException ex)
{
statusMessage = "Unable to connect to the table storage server. Please check that the service is running.<br>"
+ ex.Message;
}
status.Text = statusMessage;
}
13.Сохраните все изменения. В меню Build выберите Build Solution.
Проверка:
1. Для запуска приложения нажмите F5. Приложение откроется в веб браузере
2.В области уведомлений панели задач нажмите правой кнопкой по значку и выберите Show Development Storage UI
3.Наберите сообщение и нажмите кнопку Submit. Через несколько секунд страница обновится и появится сообщение.
Литература
3. Windows Azure Platform Training Kit - January 2011 Update