Здравствуйте. А уточните, пожалуйста, по какой причине стоимость изменилась? Была стоимость в 1 рубль, стала в 9900 рублей. |
Опубликован: 25.05.2011 | Уровень: специалист | Доступ: свободно
Лекция 9:
Microsoft® .NET Services
Лабораторная работа 3. Создание первого Windows Azure приложения
Целью лабораторной работы является практическое освоение создания приложений Windows Azure.
Аппаратура и программные инструменты, необходимые для лабораторной работы
- Настольный или портативный компьютер, поддерживающий виртуализацию, операционная система Microsoft Windows XP, Vista, Windows 7.
- Доступ к сети Интернет.
- Наличие аккаунта Windows Azure.
Продолжительность лабораторной работы
2 академических часа
Создание проекта в Visual Studio
- Откройте меню Пуск | Все программы| Microsoft Visual Studio 2010 | Microsoft Visual Studio 2010.
- В меню File выберите New и затем Project.
- В диалоговом окне New Project разверните узел Visual C# и в списке Installed Templates выберите Cloud.
- В списке Templates выберите Windows AzureCloud Service. Введите Name "GuestBook", имя solution "Begin". Затем выберите расположение внутри папки Ex1-BuildingYourFirstWindowsAzureApp. Убедитесь что опция Create directory for solution выбрана и нажмите OK чтобы создать проект.
- В диалоге New Cloud Service Project разверните узел Visual C# и выберите ASP.NET Web Role. Переместите выбранную роль в проект. Выберите роль в проекте, нажмите на изображение "карандаш" и введите имя GuestBook_WebRole. Нажмите OK для завершения.
- Обратите внимание на структуру проекта в Solution Explorer.
Создание модели данных для элементов в Table Storage
- В Solution Explorer нажмите правой кнопкой мыши по Begin, выберите Add | New Project.
- В диалоге Add New Project, разверните узел Visual C# в списке Installed Templates, выберите категорию Windows и выделите Class Library в списке шаблонов. Убедитесь что выбрат . NET Framework 3.5. Введите имя GuestBook_Data и нажмите OK.
- Удалите файл класса по умолчанию. Нажмите правой кнопкой по Class1.cs и выберите Delete. Нажмите OK.
- Добавьте ссылку на библиотеку .NET для ADO.NET в проект GuestBook_Data. В Solution Explorer нажмите правой кнопкой по проекту GuestBook_Data, выберите Add Reference, затем выберите закладку .NET, выделите компонент System.Data.Service.Client и нажмите OK.
- Выполните пункт 4, добавив ссылку библиотеку Microsoft.WindowsAzure.StorageClient
- Нажмите правой кнопкой мыши по GuestBook_Data в Solution Explorer, выберите Add, затем Class. В диалоге Add New Item введите имя GuestBookEntry.cs и нажмите Add.
- Откройте файл GuestBookEntry.cs, добавьте в начало файла using Microsoft.WindowsAzure.StorageClient ;
- Измените объявление класса GuestBookEntry
public class GuestBookEntry : Microsoft.WindowsAzure.StorageClient.TableServiceEntity { }
- Добавьте конструктор по умолчанию
public GuestBookEntry() { PartitionKey = DateTime.UtcNow.ToString("MMddyyyy"); // Row key allows sorting, so we make sure the rows come back in time order. RowKey = string.Format("{0:10}_{1}", DateTime.MaxValue.Ticks - DateTime.Now.Ticks, Guid.NewGuid()); }
- Добавьте свойства
public string Message { get; set; } public string GuestName { get; set; } public string PhotoUrl { get; set; } public string ThumbnailUrl { get; set; }
- Сохраните файл GuestBookEntry.cs.
- Нажмите правой кнопкой мыши по GuestBook_Data в Solution Explorer, выберите Add, затем Class. В диалоге Add New Item введите имя GuestBookDataContext.cs и нажмите Add.
- Откройте файл GuestBookDataContext.cs, добавьте в начало файла
using Microsoft.WindowsAzure; using Microsoft.WindowsAzure.StorageClient;
- Измените объявление класса GuestBookDataContext и добавьте конструктор
public class GuestBookDataContext : TableServiceContext { public GuestBookDataContext(string baseAddress, StorageCredentials credentials) : base(baseAddress, credentials) { } }
- Добавьте свойство
public class GuestBookDataContext : TableServiceContext { ... public IQueryable<GuestBookEntry> GuestBookEntry { get { return this.CreateQuery<GuestBookEntry>("GuestBookEntry"); } } }
- Нажмите правой кнопкой мыши по GuestBook_Data в Solution Explorer, выберите Add, затем Class. В диалоге Add New Item введите имя GuestBookDataContext.cs и нажмите Add.
- Откройте файл GuestBookEntryDataSource.cs, добавьте в начало файла
using Microsoft.WindowsAzure; using Microsoft.WindowsAzure.StorageClient;
- Далее измените класс
public class GuestBookEntryDataSource { private static CloudStorageAccount storageAccount; private GuestBookDataContext context; }
- Добавьте конструктор
public class GuestBookEntryDataSource { private static CloudStorageAccount storageAccount; private GuestBookDataContext context; static GuestBookEntryDataSource() { storageAccount = CloudStorageAccount.FromConfigurationSetting("DataConnectionString"); CloudTableClient.CreateTablesFromModel( typeof(GuestBookDataContext), storageAccount.TableEndpoint.AbsoluteUri, storageAccount.Credentials); } }
- Добавьте конструктор для класса GuestBookDataEntrySource
public GuestBookEntryDataSource() { this.context = new GuestBookDataContext(storageAccount.TableEndpoint.AbsoluteUri, storageAccount.Credentials); this.context.RetryPolicy = RetryPolicies.Retry(3, TimeSpan.FromSeconds(1)); }
- Добавьте методы
public IEnumerable<GuestBookEntry> Select() { var results = from g in this.context.GuestBookEntry where g.PartitionKey == DateTime.UtcNow.ToString("MMddyyyy") select g; return results; } public void UpdateImageThumbnail(string partitionKey, string rowKey, string thumbUrl) { var results = from g in this.context.GuestBookEntry where g.PartitionKey == partitionKey && g.RowKey == rowKey select g; var entry = results.FirstOrDefault<GuestBookEntry>(); entry.ThumbnailUrl = thumbUrl; this.context.UpdateObject(entry); this.context.SaveChanges(); }
- Сохраните файл GuestBookEntryDataSource.cs