Опубликован: 30.05.2011 | Доступ: свободный | Студентов: 2366 / 213 | Оценка: 4.12 / 4.41 | Длительность: 12:00:00
Самостоятельная работа 3:

Настройка хранилища разработки в Visual Studio 2010

< Лекция 11 || Самостоятельная работа 3: 1234 || Лекция 12 >

Нам необходим класс, который будет описывать структуру сущности для нашей таблицы. Класс должен быть наследником Microsoft.WindowsAzure.StorageClient.TableServiceEntity

class Address : TableServiceEntity
        {
            public String address { get; set; }
            public String firm { get; set; }
            public String telephone { get; set; }
        }

Для создания таблиц необходимо определить класс - контекст, при чем:

класс должен быть наследником TableServiceContext

Для каждой таблицы необходимо определить свойство типа IQueryable, где значение параметра DataItemType - тип сущностей, хранимых в таблице, в нашем случае - Address.

class AddressConext: TableServiceContext
        {
            public IQueryable<Address> ContactData
            {
                get
                {
                    return this.CreateQuery<Address>("Address");

                }
            }
            public AddressConext(Uri baseAddress, StorageCredentials credentials) : base(baseAddress.AbsoluteUri, credentials) { }
        }

Теперь обратим внимание на методы Run и OnStart. Первый содержит код выполняемый в ходе работы роли, второй - при ее запуске.

Для того, чтобы добавить данные в таблицу нам необходимо в методе Run:

  • создать экземпляр класса - учетной записи
  • создать экземпляр класс - контекста
  • создать экземпляр класса - сущности и задать его параметры
  • создать таблицу Address, если она не существует
  • добавить сущность в таблицу

Добавим следующий код:

CloudStorageAccount.SetConfigurationSettingPublisher(
                (configName, configSettingPublisher) =>
                {
                    var connectionString =
                        RoleEnvironment.GetConfigurationSettingValue(configName);
                    configSettingPublisher(connectionString);
                }
            );
//определение учетной записи
            CloudStorageAccount account = CloudStorageAccount.FromConfigurationSetting("DataConnectionString");
            
            //создание таблицы Windows Azure Table
            CloudTableClient _tc = null;
            _tc = account.CreateCloudTableClient();
            _tc.CreateTableIfNotExist("Address");
/*определение сущности, в том числе свойств ключ строки и ключ секции, унаследованных от родительского TableServiceEntity*/
            Address adrs = new Address();
            adrs.PartitionKey = "Firm";
            adrs.RowKey = "Test entity";
            adrs.telephone = "xxx-xx-xx";
            adrs.address = "Evergreen Terrace 247";
            adrs.firm = "My new firm";
//определение контекста
            AddressConext context = new AddressConext(account.TableEndpoint, account.Credentials);
//добавление сущности таблице Address
            context.AddObject("Address", adrs);
//сохранение изменений
            context.SaveChanges();

Запустите приложение, убедитесь в том, что оно выполнилось без ошибок и остановите его.

В диспетчере серверов, во вкладке "Хранилище Windows Azure" обновите вкладку "Таблицы", вы увидите созданную нашим приложением таблицу Address.


Рис. 14.15.

Щелкните на таблице правой кнопкой мыши и выберите "Просмотреть данные". Вы увидите, что определенная нами сущность добавлена в таблицу.


Рис. 14.16.

Более подробно работа с Хранилищем Windows Azure будет рассмотрена в последующих практических работах.

В случае, если выполнение задания вызвало сложности и затруднения, в приложениях к данной практической работе вы найдете итоговый программный код.

< Лекция 11 || Самостоятельная работа 3: 1234 || Лекция 12 >
Роза Мальцева
Роза Мальцева
Игнат Гринько
Игнат Гринько

Примерно месяц назад получил на сайте код Дримспарк, сегодня вводил его на сайте Дримспарк, пишет: Недействительный код проверки. Проверьте правильность введенного кода. Код вводил методом: скопировать-вставить.