В этой задаче для публикации приложения создается размещенная служба в подписке на Windows Azure. Если планируется публикация приложения в существующей размещенной службе, то можно пропустить эту задачу и перейти к следующей. Перейдите на портал управления Windows Azure и при необходимости войдите в систему с учетными данными Windows Live ID. На панели навигации перейдите на вкладку Размещенные службы, учетные данные хранилища и CDN, выберите Размещенные службы и нажмите кнопку Создать размещенную службу на ленте. Рис. 42 Создание новой размещенной службы на портале Windows Azure В диалоговом окне Создание новой размещенной службы при наличии несколько подписок выберите ту, на которой будет создана размещенная служба для этого практического задания. Затем введите Имя службы и Префикс URL-адреса службы. По мере ввода в диалоговом окне осуществляется проверка префикса URL-адреса и, если префикс недоступен, выводится предупреждение. Откройте раскрывающийся список Выбрать регион и укажите географический регион создания службы. И в заключение на панели Развертывание выберите параметр Не развертывать и нажмите кнопку ОК. Рис. 43 Создание новой размещенной службы

Задача 2. Включение CDN для размещенной службы

В этой задаче выполняется включение сети доставки содержимого Windows Azure в размещенной службе. В пользовательском интерфейсе портала управления перейдите на вкладку Размещенные службы, учетные данные хранилища и CDN, выберите параметр CDN и нажмите кнопку Создать конечную точку на ленте. Рис. 44 Включение конечной точки CDN для размещенной службы В диалоговом окне Создание новой конечной точки CDN откройте раскрывающийся список Выбор поставщика содержимого и выберите имя размещенной службы, созданной в предыдущей задаче. Если учетная запись относится к нескольким подпискам, то выберите ту из них, на которой создана служба. Установите флажки в полях Включить CDN и Строка запроса (не устанавливайте флажок в поле HTTPS) и нажмите кнопку ОК. Рис. 45 Создание новой конечной точки CDN Прочтите сообщение и нажмите кнопку Закрыть, чтобы отклонить окно сообщения Включить CDN. Рис. 46 Подтверждение создания конечной точки CDN Может появиться следующее предупреждение о том, что в настоящее время в рабочей среде размещенной службы развертывание не выполняется. Нажмите кнопку Да, чтобы закрыть диалоговое окно и продолжить. Через некоторое время приложение будет развернуто в размещенной службе. Рис. 47 Предупреждающее сообщение об отсутствии развертывания После создания конечной точки CDN для отображения состояния операции обновляется пользовательский интерфейс на портале управления. Рис. 48 Состояние создания конечной точки CDN Дождитесь, пока состояние конечной точки CDN не изменится на Включено. На средней панели выберите эту конечную точку и запомните значение Конечная точка HTTP по умолчанию в окне Свойства. Впоследствии это значение понадобится для настройки приложения. Рис. 49 Окно свойств конечной точки CDN

Задача 3. Формирование динамического содержимого

НЕ нашли? Не то? Что вы ищете?
В этой задаче выполняется обновление решения данной практической работы для отображения изображения, которое создается приложением в одном из действий контроллера вместе с другим изображением, которое также создано этим же действием контроллера, но источником которого является конечная точка CDN для размещенной службы. Откройте Visual Studio с правами администратора, выбрав Пуск | Все программы | Microsoft Visual Studio 2010, щелкнув правой кнопкой мыши пункт Microsoft Visual Studio 2010 и выбрав команду Запуск от имени администратора. Если откроется диалоговое окно Контроль учетных записей, подтвердите продолжение действия. В меню Файл выберите пункт Открыть, затем щелкните Проект/Решение. В диалоговом окне Открытие проекта в папке Source практической работы выберите Ex3-HostedServiceCaching\Begin, укажите Begin. sln и нажмите кнопку Открыть. Кроме того, можно перейти к решению, выполненному в ходе предыдущего упражнения. Примечание. Если работа начинается с нового решения, настройте конечную точку CDN в методе расширения StaticContent в файле UrlHelperExtension. cs папки Helpers. Откройте файл HomeController. cs в папке Controllers приложения и вставьте следующее действие контроллера в класс HomeController. (Фрагмент кода — Windows Azure CDN - Ex03 GetImage action) C# public class HomeController : Контроллер {   ...   [OutputCache(VaryByParam = "", Duration = IMAGE_TTL, Location = System. Web. UI. OutputCacheLocation. Downstream)]   public ActionResult GetImage()   {   string caption = DateTime. Now. ToUniversalTime().ToLongTimeString();   Stream output = new MemoryStream();   SaveImageToStream(output, caption);   output. Seek(0, SeekOrigin. Begin);   return new FileStreamResult(output, "image/jpeg");   }   ... } Примечание. Действие контроллера GetImage считывает изображение с диска, накладывает заголовок с текущим временем, а затем после установки типа содержимого записывает в ответный поток двоичное содержимое изображения, указывая, что в ответе содержится файл изображения. Атрибут OutputCache, который применяется к действию контроллера, следит за тем, чтобы заголовок Cache-Control был задан надлежащим образом для определения времени жизни ответа. Обратите внимание, что для задания этого значения, которое в настоящее время равно 30 секундам, используется константа IMAGE_TTL. Откройте файл UrlHelperExtension. cs в папке Helpers проекта CDNSample и добавьте следующий (выделенный) метод к классу, заменив заполнитель [YOUR-HOSTED-SERVICE-CDN-ENDPOINT] значением поля Конечная точка HTTP по умолчанию, записанным при выполнении предыдущей задачи во время включения CDN в размещенной службе, например az12345.vo. . (Фрагмент кода — Windows Azure CDN - Ex03 HostedServiceContent helper method) C# public static class UrlHelperExtension {   ...   public static string HostedServiceContent(this UrlHelper helper, string resource, int version)   {   return "http://[YOUR-HOSTED-SERVICE-CDN-ENDPOINT]/" + resource + ((version > 0) ? "?" + version : "");   } } Примечание. HostedServiceContent — это вспомогательный метод, который создает URL-адрес для ресурса, обслуживаемого приложением и поставляемого сетью доставки содержимого (CDN). Откройте представление Index. aspx в папке Views\Home. Найдите элемент table в элементе управления заполнителем Content2 и замените первые две строки следующей (выделенной) разметкой.

Обратите внимание, что заменяется источник верхнего изображения, изначально указывавший на конечную точку CDN в хранилище больших двоичных объектов с помощью конечной точкой CDN размещенной службы, и источник нижнего изображения, изначально указывавший на хранилище больших двоичных объектов с помощью URL-адреса действия контроллера GetImage.

(Фрагмент кода — Windows Azure CDN - Ex03 Image sources) HTML <asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">   <script type="text/javascript">   ...   </script>   <table>   <tr>   <% Html. RenderPartial("ImageUserControl", Url. HostedServiceContent("GetImage", Model. Version)); %>   </tr>   <tr>   <% Html. RenderPartial("ImageUserControl", Url. Action("GetImage")); %>   </tr>   ...   </table>   </asp:Content> Примечание. В обновленных строках отображаются изображение из CDN и его источник, извлеченный непосредственно в результате действия контроллера GetImage приложения. В заключение откройте файл Global. asax в проекте CDNSample, найдите метод RegisterRoutes и добавьте следующий (выделенный) код для регистрации нового маршрута, который сопоставляет путь /cdn/GetImage с контроллером Home. (Фрагмент кода — Windows Azure CDN - Ex03 CDN route) C# public class MvcApplication : System. Web. HttpApplication {   public static void RegisterRoutes(RouteCollection routes)   {   routes. IgnoreRoute("{resource}.axd/{*pathInfo}");   routes. MapRoute(   "CDN", // имя маршрута   "cdn/GetImage", // URL-адрес с параметрами   new { controller = "Home", action = "GetImage", id = UrlParameter. Optional } // значения параметров по умолчанию   );   routes. MapRoute(   "Default", // имя маршрута   "{controller}/{action}/{id}", // URL-адрес с параметрами   new { controller = "Home", action = "Index", id = UrlParameter. Optional } // значения параметров по умолчанию   );
  } } Примечание. Содержимое в размещенной службе, опубликованное с помощью CDN, должно находиться в корневом каталоге /cdn приложения.

Задача 4. Публикация приложения в Windows Azure

В этой задаче осуществляется обновление строки подключения, чтобы она указывала на учетную запись хранилища Windows Azure. В обозревателе решений разверните узел Роли в облачном проекте CDNService и дважды щелкните роль CDNSample. В окне CDNSample [Role] перейдите на вкладку Параметры, найдите параметр DataConnectionString и замените заполнитель [YOUR-ACCOUNT-NAME] на имя учетной записи хранилища Windows Azure, а заполнитель [YOUR-ACCOUNT-KEY] — на его общий ключ. Рис. 50 Настройка приложения для развертывания Повторите предыдущий шаг для настройки учетных данных учетной записи хранилища для параметра Microsoft. WindowsAzure. Plugins. Diagnostics. ConnectionString. Эта учетная запись хранилища используется для диагностики. Нажмите клавиши CTRL + S, чтобы сохранить изменения. Опубликуйте приложение в размещенной службе, которая создана для выполнения этой практической работы в первой задаче данного упражнения. Если ранее приложение не развертывалось в Windows Azure, то подробное пошаговое руководство, описывающее эту процедуру, см. в убликация приложения в Windows Azure

Задача 5. Тестирование приложения в облаке

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8