Как использовать БД SQL в студенческом Microsoft AZURE от Dreamspark

f3bc0c865af04c24bd75a67d671d37fa.png

Привет хаброжители!
Многие из вас слышали или читали что в Dreamspark для студентов специально добавили Microsoft Azure, чтобы у студентов появился бесплатный хостинг для их учебных проектов. Небольшой спойлер: бесплатно и без рекламы!

Студенческий azure имеет следующие возможности:

  • Веб-приложения службы приложений Azure входят в полностью управляемую облачную платформу, которая позволяет за считаные секунды создавать и развертывать веб-приложения. Возможно использование ASP.NET, Java, PHP, Node.js или Python. Запуск популярных веб-приложений и решений CMS. Настройте непрерывную интеграцию и развертывание с помощью VSO, GitHub, TeamCity, Hudson или BitBucket. Это позволит вам автоматически строить, тестировать и развертывать веб-приложение после каждого успешного теста сборки кода или интеграции.
  • С СУБД MySQL от ClearDB ваши веб-приложения получат всю мощь MySQL. С помощью MySQL-решения clearDB можно расширить поддержку различных видов веб-приложений и CMS-решений, в том числе Wordpress, Joomla, Acquia Drupal, phpBB и многих других.
  • Visual Studio Application Insights предоставляет содержательные телеметрические данные и сведения о производительности, с помощью которых вы сможете обеспечить максимальную эффективность работы ваших веб-приложений и служб. Функции поиска и анализа данных обеспечивают постоянное совершенствование приложений, определение приоритетов для будущих инвестиций и повышение удовлетворенности клиентов.
  • Visual Studio Online представляет собой самый быстрый и простой на сегодняшний день способ планирования, создания и поставки программного обеспечения для различных платформ. Наша облачная инфраструктура позволяет за считанные минуты сделать все необходимые приготовления для запуска, при этом вам не придется заниматься установкой и настройкой отдельных серверов.

В настоящее время Microsoft Azure для DreamSpark доступен для проверенных учащихся программы DreamSpark бесплатно и без обязательств, временных ограничений и случайных выплат. Позже, если потребуется, вы сможете выполнить модернизацию для использования большего числа служб, однако уже сегодня вы сможете разместить свои веб-приложения и веб-сайты, воспользовавшись огромными возможностями облачных решений Microsoft, причем без дополнительных затрат.

Студенческая подписка на Azure предлагает использовать только MySQL с ограничение объема БД до 32 МБ и возможности подключение максимального количества сайтов — 5 шт. Чего должно с головой хватать для учебных проектов.

Если вам не хватает данных ресурсов то я хочу развеять этот миф о бесполезности azure в учебных целях и предложить вам решение этой проблемы. Для своих более сложных проектов вы можете использовать Microsoft SQL Server Database File. А теперь давайте для примера создадим тестовый проект, назовем его »TwoNotes».

Построение тестового ASP.NET MVC приложение и развертывание его в студенческом AZURE

Давайте откроем Visual Studio и создадим наше тестовое приложение.

2ace4932dd534504afb13fb69b8a7d0c.jpg

Выберем тип язык C# и тип проекта Web. Своему приложению я дал название — TwoNotes.

5d1e106a940b4e8992add879dbcd3cff.jpg

Для написание приложения будет использоваться шаблон Single Page Application.

2c0b13f9738f43eba04c92ac2fd02415.jpg

После того, как приложение будет готово, мы щелкните правой кнопкой мыши папку App_Data и выберите пункт Добавить > новый элемент. В диалоговом окне Добавление нового элемента мы выберем локальной базы данных SQL Server Compact 4.0.

Примечание: Вы можете пропустить этот шаг и просто настроить правильное подключение DB, DB будет создана во время первого запуска приложения.

6275762ecc6e48659037f61446e4a628.jpg

Так же не забудьте в References через NuGet System.Data.SqlServerCe.

f14ba187c5b249f4ac0d71fdd4a10a1d.jpg

После установки проверьте наличие System.Data.SqlServerCe в References.

faff47cc6f1a443a8ed922ef505c48ff.jpg

Настройка SqlServerCompact для надлежащего развертывания на веб-сайтах Azure

Шаг 1. Установка зависимостей SqlServerCompact.
Открыть консоль пакетного менеджера NuGet и введите PM> Install-Package SqlServerCompact

dd1e25454a3547449f968e5c8e792bd9.jpg

Сначала проверьте, что у вас нету этих зависимостей. Если их нет, то они будут добавлены, а затем загрузятся куча зависимостей для SqlServerCompact, которые необходимы для правильной работы на веб-сайты Azure.

eace26705e3c4454a1e3428b0a049a1c.jpg

Шаг 2. Далее добавим ссылку на System.Data.SqlServerCe.dll, таким образом, что он был доступен во время сборки/развертывания.
Для того чтобы это сделать, необходимо сделать следующее:

  • Выберите в папке System.Data.SqlServerCe и нажмите кнопку F4.
  • В панели Properties выберите пункт Copy Local и установите значение true.
  • Удалите из проекта ссылку библиотеки DLL
  • Добавить ссылку обратно, перейдя в папку выше и выберите dll, которую вы только что скопировали

Шаг 3: Наконец, установите Entity Framework с поддержкой SQL Server Compact при помощи следующей команды Nuget.
PM> Install-Package EntityFramework.SqlServerCompact. Версия допустима любая.

a5f331c61fe842c4a97a2feb5d1de03d.jpg

Теперь вы установили все необходимы зависимости и теперь можно двигаться дальше.

Добавление строки подключения к БД

Для добавления подключения к БД откройте Server Explorer и нажмите на значок зеленой вилки.

906fcd0b9c5b4d37a491aca4def283e4.jpg

Далее у вас откроется окно в котором нужно будет выбрать расположение вашего файла БД.

13c89ffecd1a4b6f89a6949fb673c87c.jpg

Итак, вы подключили БД, и теперь необходимо в конфиг вашего проекта добавить Connection String. Для этого нажмите на значок вашей БД и выберите Properties и в этом окне найдите строчку Connection String. И добавьте его в Web.config.

fdd2289de2c145ec8d481b7739c39a44.jpg

92ef0a51f6e64af48e2d582cad0479b8.jpg

Настройка пользователя в нашем приложении

Запустим наш веб сайт на локальном компьютере и с помощью кнопки регистрации добавим пользователя:

Имя пользователя: twonotestest
Пароль: tw0Not3sTest

После регистрации и авторизации можете проверить созданные записи в БД.

Развертывание в студенческий аккаунт Microsoft Azure
Выберите проект и нажмите правую кнопку мыши. В контекстном меню выберите пункт Publish и у вас откроется вот такое меню.

8550ddd57aee41e4b2e60b56b52dedaf.jpg

В открывшемся окне нажмите на пункт Microsoft Azure App Service и нажмите кнопку next. Далее у вас откроется окно выбора подписки Azure и выбора проекта. Так как у нас в azure не создано ни одного приложения, то создадим его прямо из этого окна. Для этого достаточно просто нажать на кнопку NEW.

833136ae797a488f856a13ef3e2421e8.jpg

Далее просто введите все необходимые данные и ваше приложение будет создано и опубликовано.

Так же вы можете создать приложение на Портале Azure и скачать профиль публикации. И с его помощью так же опубликовать ваше приложение.

Подведем итоги!
Теперь вы знаете как обойти ограничение в БД на студенческой подписке в Azure. Процесс конечно немного сложный и длительный, но зато вы сможете получить бесплатный хостинг для ваших проектов вполне легально. И к тому же без рекламы.

Если у вас остались вопросы, можете направлять их на мой e-mail: valeriy.chernobrovyy@studentpartner.com

© Habrahabr.ru