Опубликован: 28.01.2014 | Уровень: для всех | Доступ: платный
Самостоятельная работа 4:

Миграция Web-сайта в Cloud Services

< Лекция 8 || Самостоятельная работа 4: 1234 || Лекция 9 >

Добавьте в проект MVC4Gallery файл WebRole.cs и замените его содержимое на код, приведённый ниже.

using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.WindowsAzure;
using Microsoft.WindowsAzure.Diagnostics;
using Microsoft.WindowsAzure.ServiceRuntime;
using Microsoft.WindowsAzure.StorageClient;

namespace MVC4Gallery
{
    public class WebRole : RoleEntryPoint
    {

        public override bool OnStart()
        {
            RoleEnvironment.Changing += RoleEnvironmentChanging;

            return base.OnStart();
        }

        private void RoleEnvironmentChanging(object sender, RoleEnvironmentChangingEventArgs e)
        {
            if (e.Changes.Any(change => change is RoleEnvironmentConfigurationSettingChange))
            {
                e.Cancel = true;
            }
        }
    }
}

Нажмите два раза правой кнопкой мыши на MVC4Gallery в Roles облачного проекта для того, чтобы открыть графический интерфейс администрирования Web-роли.

На вкладке Configuration снимите отметку с опции Enable Diagnostics. Перейдите на вкладку Settings, нажмите Add Setting и создайте новую настройку конфигурации с именем storageaccount. Укажите её тип как Connection String, после чего нажмите на кнопку с троеточием и настройте строку подключения. Необходимые данные были записаны ранее. Нажмите Add Setting и введите имя Microsoft.ServiceBus.ConnectionString (тип – String), после чего вставьте в поле Value следующую строку:

Endpoint=sb://[имяпространстваимён].servicebus.windows.net;SharedSecretIssuer=owner;SharedSecretValue=[DefaultKey]

Где наименование пространства имён для части Endpoint, Default Issuer для SharedSecretIssuer и Default Key для SharedSecretValue.

Нажмите OK.

Нажмите два раза правой кнопкой мыши на WorkerRoleWithSBQueue1 в Roles облачного проекта для того, чтобы открыть графический интерфейс администрирования Worker-роли.

На вкладке Configuration снимите отметку с опции Enable Diagnostics. Перейдите на вкладку Settings, нажмите Add Setting и создайте новую настройку конфигурации с именем storageaccount. Укажите её тип как Connection String, после чего нажмите на кнопку с троеточием и настройте строку подключения. Необходимые данные были записаны в Части 1. Нажмите OK.

Вставьте необходимые значения в строку подключения для настройки Microsoft.ServiceBus.ConnectionString. Необходимые данные были записаны в Части 1 – наименование пространства имён для части Endpoint, Default Issuer для SharedSecretIssuer и Default Key для SharedSecretValue.

Сохраните изменения и закройте графический интерфейс управления Worker-ролью.

Запустите проект, нажав F5. Проект запустится в локальном эмуляторе вычислений и запустит браузер с представлением Home/Index.

Выберите изображение и нажмите Сохранить. После загрузки изображения страница обновится.

Обратите внимание, что в данный момент показывается только одно изображение – то, которое вы загрузили. Спустя некоторое время (достаточно нескольких секунд) обновите страницу – это время понадобится обработчику изображений, чтобы опросить очередь, получить сообщение от Web-роли, загрузить блоб, создать его копию и положить новый блоб в хранилище.

Для того, чтобы развернуть приложение в Cloud Services на платформу Windows Azure, необходимо соответствующим образом настроить функциональность публикации в Visual Studio 2012.

Нажмите правой кнопкой мыши на облачном проекте MVC4Gallery.Azure. Нажмите Publish. В открывшемся диалоговом окне раскройте список под Choose your subscription и выберите <Manage...>.

Развертывание приложения

увеличить изображение
Рис. 12.6. Развертывание приложения

В открывшемся диалоговом окне Windows Azure Cloud Service Project Management нажмите New.

Введите любое удобное вам название нового сертификата, который будет использоваться для развертывания приложения. Нажмите OK.

Перейдите на вкладку Settings. На вкладке Management Certificates нажмите Add Certificate.

В открывшемся диалоговом окне Add New Management Certificate нажмите Browse и вставьте в поле Имя файла скопированный из Visual Studio путь к сертификату. Нажмите Открыть. Нажмите OK.

Перейдите на вкладку Settings и скопируйте Subscription ID из свойств загруженного сертификата.

Перейдите в Visual Studio 2012.

Вставьте скопированный идентификатор подписки в соответствующее поле. Нажмите OK.

Установка авторизации

Рис. 12.7. Установка авторизации

Нажмите Close. Нажмите Publish.

Вы можете наблюдать за процессом развёртывания в представлении Windows Azure Activity Log.

Log процесса развертывания

увеличить изображение
Рис. 12.8. Log процесса развертывания

Перейдите на портал управления Windows Azure на вкладку Cloud Services. Выберите развернутое приложение и нажмите на ссылку в поле DNS Name на панели Properties, чтобы перейти на веб-сайт.

Обратите внимание, что сайт выглядит так же, как после развёртывания его в локальный эмулятор вычислений. Это связано с тем, что в обоих случаях используется реальное хранилище Windows Azure. Добавьте новое изображение и пронаблюдайте результат.

< Лекция 8 || Самостоятельная работа 4: 1234 || Лекция 9 >
Руслан Муравьев
Руслан Муравьев

Сайт dreamspark пишет что код истек :(

Andriy Zymenko
Andriy Zymenko

Этот курс требует оновления https://portal.azure.com/#create/hub здесь нет пункта Web Site в разделе Compute. К тому же для создание трубуется подписка

Абакар Сотавов
Абакар Сотавов
Россия, Санкт-Петербург
Ivan Stefanov
Ivan Stefanov
Болгария