- PVSM.RU - https://www.pvsm.ru -
Мобильные сервисы Microsoft Azure [1] предоставляют разработчикам готовое решение для реализации облачного бэкэнда в приложении. Теперь мобильные службы Azure полностью поддерживают создание серверной логики с помощью ASP.NET Web API и представляют отличный выбор для разработчиков, проектирующих мобильные API с помощью ASP.NET:
Приступить к реализации поддержки мобильных сервисов в Visual Studio очень легко. Необходимо зайти на портал Microsoft Azure [1] и создать новую мобильную службу. На первой странице выберите .NET в качестве серверной части. После того, как служба будет создана, перейдите на вкладку «Quickstart» и скачайте тестовый проект для той клиентской платформы, на которой вы разрабатываете.
В том случае, если вы начинаете работу в Visual Studio [5], вы можете создать мобильный сервис уже после разработки локального проекта, для публикации его в сервис.
В любом случае вы получите шаблон проекта Mobile Services .NET. Обратите внимание, что это обычный Web API проект, использующий дополнительные NuGet пакеты.
Откройте файл контроллера TodoItemController.cs и изучите его содержание. Установите точку останова внутри метода GetAllTodoitems. Этот контроллер покажет вам, как работать с данными, используя поддержку Mobile Services .NET:
public class TodoItemController : TableController<TodoItem>
{
protected override void Initialize(HttpControllerContext controllerContext)
{
base.Initialize(controllerContext);
csharp_testContext context = new csharp_testContext();
DomainManager = new EntityDomainManager<TodoItem>(context, Request, Services);
}
// GET tables/TodoItem
public IQueryable<TodoItem> GetAllTodoItems()
{
return Query();
}
// GET tables/TodoItem/48D68C86-6EA6-4C25-AA33-223FC9A27959
public SingleResult<TodoItem> GetTodoItem(string id)
{
return Lookup(id);
}
// PATCH tables/TodoItem/48D68C86-6EA6-4C25-AA33-223FC9A27959
public Task<TodoItem> PatchTodoItem(string id, Delta<TodoItem> patch)
{
return UpdateAsync(id, patch);
}
// POST tables/TodoItem/48D68C86-6EA6-4C25-AA33-223FC9A27959
public async Task<IHttpActionResult> PostTodoItem(TodoItem item)
{
TodoItem current = await InsertAsync(item);
return CreatedAtRoute("Tables", new { id = current.Id }, current);
}
// DELETE tables/TodoItem/48D68C86-6EA6-4C25-AA33-223FC9A27959
public Task DeleteTodoItem(string id)
{
return DeleteAsync(id);
}
}
Обратите внимание, что все ключевые CRUD методы TodoItem уже определены. По умолчанию контроллер EntityDomainManager является оболочкой поверх Entity Framework модели, что обеспечивает легкий переход на использование альтернативного хранилища данных:
С поддержкой .NET кода в мобильных сервисах, запуск и отладка логики мобильного бэкэнда доступна локально. Запускаем сервис клавишей F5, и на стартовой странице сервиса в браузере нажимаем «Try it out».
Поддержка .NET в мобильных сервисах предоставляет автоматическую генерацию справочной информации для вашего Web API в виде отдельной страницы. Получить описание реализации метода можно при помощи GET tables / TodoItem. Нажмите на «Try this out», а затем «Send», для вызова метода GetAllTodoItems (), и вы попадаете в точку останова, которую установили ранее.
После завершения разработки серверной части API, вы можете опубликовать свой Web API в мобильный сервис. Поддержка публикации встроена в Visual Studio, достаточно щелкнуть правой кнопкой мыши на проект и выбрать «Publish». Вы можете выбрать существующий мобильный сервис или создать новый прямо из Visual Studio, без необходимости посещения портала Azure.
Вы можете опубликовать любое существующее WebAPI решение в мобильный сервис и сразу же передать его управление и мониторинг в Azure.
Подробнее о поддержке .NET бэкэнда в мобильных сервисах можно узнать из документации:
Поговорим немного о преимуществах, которые получает разработчик при публикации своего API в мобильную службу, ведь с другой стороны существует множество других способов размещения Web API в Azure.
Перечислим лишь некоторые из преимуществ, которые предоставляют мобильные сервисы:
Мобильные службы предлагают большое количество функционала для вашего приложения прямо «из коробки».
Например:
Выбор платформы .NET один из частых сценариев корпоративной разработки, так как семейство .NET языков предоставляет большое количество актуальных сценариев для создания бизнес-приложений [24]:
В дополнение к уже перечисленной функциональности, Visual Studio [5] содержит множество других полезных инструментов для разработки и отладки вашего мобильного сервиса. Например встроенный скаффолдинг, позволяющий создавать контроллеры таблиц (для хранения реляционных данных), пользовательские контроллеры (для построения произвольных API, HTTP) и задачи, выполняемые по расписанию.
Так же Visual Studio предоставляет возможность удаленной отладки. Просто щелкните правой кнопкой мыши на мобильный сервис в «Solution Explorer» и выберите «Attach Debugger». Для того, чтобы воспользоваться этой функцией убедитесь, что вы опубликовали код в режиме «Debug».
Другой интересной возможностью в Solution Explorer является команда «View Logs», позволяющая просматривать журналы, заполняемые вашим мобильным сервисом в облаке, в том числе с сообщения об ошибках и трассировка стека.
Мы надеемся, что вы сможете по достоинству оценить набор новых функций и возможностей мобильных служб Azure [1], и рекомендуем вам попробовать их в вашем следующем проекте.
Для получения рекомендаций или обратной связи воспользуйтесь Twitter: @theYavor [32].
Автор: maria_gore
Источник [43]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/net/72895
Ссылки в тексте:
[1] Microsoft Azure: http://l.techdays.ru/go/azuretrial
[2] хостинг: https://www.reg.ru/?rlink=reflink-717
[3] Image: http://acom.azurecomcdn.net/80C57D/blogmedia/blogmedia/2014/07/mobile-services-for-web-api-devs-1.png
[4] Image: http://acom.azurecomcdn.net/80C57D/blogmedia/blogmedia/2014/07/mobile-services-for-web-api-devs-2.png
[5] Visual Studio: http://l.techdays.ru/go/getvs
[6] Image: http://acom.azurecomcdn.net/80C57D/blogmedia/blogmedia/2014/07/mobile-services-for-web-api-devs-3.png
[7] Image: http://acom.azurecomcdn.net/80C57D/blogmedia/blogmedia/2014/07/mobile-services-for-web-api-devs-4.png
[8] WindowsAzure.MobileServices.Backend.Mongo: http://www.nuget.org/packages/WindowsAzure.MobileServices.Backend.Mongo/
[9] ссылке: http://blogs.msdn.com/b/azuremobile/archive/2014/04/14/creating-mongodb-backed-tables-in-azure-mobile-services-with-net-backend.aspx
[10] WindowsAzure.MobileServices.Backend.Storage: http://www.nuget.org/packages/WindowsAzure.MobileServices.Backend.Storage/
[11] здесь: http://wp.sjkp.dk/azure-mobile-service-net-backend-using-azure-table-storage/
[12] Image: http://acom.azurecomcdn.net/80C57D/blogmedia/blogmedia/2014/07/mobile-services-for-web-api-devs-5.png
[13] Image: http://acom.azurecomcdn.net/80C57D/blogmedia/blogmedia/2014/07/mobile-services-for-web-api-devs-6.png
[14] Работа с мобильными службами: http://azure.microsoft.com/ru-ru/documentation/articles/mobile-services-dotnet-backend-windows-store-dotnet-get-started/
[15] Работа с данными в мобильных службах: http://azure.microsoft.com/ru-ru/documentation/articles/mobile-services-dotnet-backend-windows-store-dotnet-get-started-data/
[16] Аутентификация в мобильных службах: http://azure.microsoft.com/ru-ru/documentation/articles/mobile-services-dotnet-backend-windows-store-dotnet-get-started-users/
[17] Push-уведомления в мобильных службах: http://azure.microsoft.com/ru-ru/documentation/articles/mobile-services-dotnet-backend-windows-store-dotnet-get-started-push/
[18] мониторинг конечных точек: http://msdn.microsoft.com/en-us/library/azure/dn167706.aspx
[19] оповещения: http://msdn.microsoft.com/en-us/library/azure/dn306639.aspx
[20] ссылке: http://azure.microsoft.com/en-us/documentation/articles/mobile-services-dotnet-backend-windows-store-dotnet-get-started-users/
[21] документе: http://azure.microsoft.com/en-us/documentation/articles/mobile-services-dotnet-backend-windows-store-dotnet-get-started-push/
[22] здесь: http://azure.microsoft.com/en-us/documentation/articles/mobile-services-windows-store-dotnet-get-started-offline-data/
[23] ссылке: http://blogs.msdn.com/b/azuremobile/archive/2014/05/30/realtime-with-signalr-and-azure-mobile-net-backend.aspx
[24] бизнес-приложений: http://azure.microsoft.com/en-us/campaigns/mobile-employee-apps/
[25] материал: http://azure.microsoft.com/en-us/documentation/articles/mobile-services-windows-store-dotnet-adal-sso-authentication/
[26] руководство: http://azure.microsoft.com/en-us/documentation/articles/mobile-services-dotnet-backend-hybrid-connections-get-started/
[27] видео-инструкцию: http://channel9.msdn.com/Series/Windows-Azure-Mobile-Services/Connect-to-an-on-premises-SQL-Server-from-Azure-Mobile-Services-using-Hybrid-Connections
[28] огромное количество других ресурсов: http://azure.microsoft.com/en-us/develop/mobile/resources-xamarin-ios/
[29] ссылке: http://azure.microsoft.com/en-us/develop/mobile/windows-store-samples/
[30] Image: http://acom.azurecomcdn.net/80C57D/blogmedia/blogmedia/2014/07/mobile-services-for-web-api-devs-7.png
[31] Image: http://acom.azurecomcdn.net/80C57D/blogmedia/blogmedia/2014/07/mobile-services-for-web-api-devs-9.png
[32] @theYavor: https://twitter.com/theYavor
[33] Центр разработки Microsoft Azure (azurehub.ru): http://www.azurehub.ru/
[34] Twitter.com/windowsazure_ru: http://www.twitter.com/windowsazure_ru
[35] Сообществе Microsoft Azure на Facebook: http://www.facebook.com/groups/azurerus/
[36] Изучить курсы: http://l.techdays.ru/go/mva
[37] Бизнес и облако: лучшие практики решений: http://www.microsoftvirtualacademy.com/training-courses/business-and-cloud-best-practices-solutions-rus
[38] Windows 8.1 Update для крупных организаций. Начало работы: http://www.microsoftvirtualacademy.com/training-courses/windows-8-1-update-for-enterprise-jump-start-rus
[39] Гибридное облако Microsoft: Руководство по типовым решениям: http://www.microsoftvirtualacademy.com/training-courses/the-microsoft-hybrid-cloud-best-practices-guidance-rus
[40] Набор средств для подготовки пользователей к Windows 8.1: http://www.microsoftvirtualacademy.com/training-courses/windows-8-1-user-readiness-toolkit_rus
[41] Введение в графическую библиотеку Win2D: http://www.microsoftvirtualacademy.com/training-courses/introduction-to-the-graphics-library-win2d-rus
[42] Стать разработчиком: http://l.techdays.ru/go/winstart
[43] Источник: http://habrahabr.ru/post/241680/
Нажмите здесь для печати.