Мобильные сервисы для ASP.NET разработчиков

OSzone.net » Microsoft » Разработка приложений » Облако/Azure » Мобильные сервисы для ASP.NET разработчиков
Иcточник: msdn.microsoft.com
Опубликована: 12.02.2015

Мобильные сервисы Microsoft Azure предоставляют разработчикам готовое решение для реализации облачного бэкэнда в приложении. Теперь мобильные службы Azure полностью поддерживают создание серверной логики с помощью ASP.NET Web API и представляют отличный выбор для разработчиков, проектирующих мобильные API с помощью ASP.NET:

Готовый бэкэнд с набором SDK для всех мобильных платформ

Приступить к реализации поддержки мобильных сервисов в Visual Studio очень легко. Необходимо зайти на портал Microsoft Azure и создать новую мобильную службу. На первой странице выберите .NET в качестве серверной части. После того, как служба будет создана, перейдите на вкладку «Quickstart» и скачайте тестовый проект для той клиентской платформы, на которой вы разрабатываете.

*

*

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

*

В любом случае вы получите шаблон проекта 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 в виде отдельной страницы. Получить описание реализации метода можно при помощи GETtables / TodoItem. Нажмите на «Try this out», а затем «Send», для вызова метода GetAllTodoItems (), и вы попадаете в точку останова, которую установили ранее.

*

После завершения разработки серверной части API, вы можете опубликовать свой Web API в мобильный сервис. Поддержка публикации встроена в Visual Studio, достаточно щелкнуть правой кнопкой мыши на проект и выбрать «Publish». Вы можете выбрать существующий мобильный сервис или создать новый прямо из Visual Studio, без необходимости посещения портала Azure.

*

Вы можете опубликовать любое существующее WebAPI решение в мобильный сервис и сразу же передать его управление и мониторинг в Azure.

Подробнее о поддержке .NET бэкэнда в мобильных сервисах можно узнать из документации:

Первоклассный хостинг для мобильного API

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

Перечислим лишь некоторые из преимуществ, которые предоставляют мобильные сервисы:

Полезные возможности мобильного бэкэнда

Мобильные службы предлагают большое количество функционала для вашего приложения прямо «из коробки». Например:

Подключение к корпоративным системам

Выбор платформы .NET один из частых сценариев корпоративной разработки, так как семейство .NET языков предоставляет большое количество актуальных сценариев для создания бизнес-приложений:

Интеграция с Visual Studio

В дополнение к уже перечисленной функциональности,  Visual Studio содержит множество других полезных инструментов для разработки и отладки вашего мобильного сервиса. Например встроенный скаффолдинг, позволяющий создавать контроллеры таблиц (для хранения реляционных данных), пользовательские контроллеры (для построения произвольных API, HTTP) и задачи, выполняемые по расписанию.

*

Так же Visual Studio предоставляет возможность удаленной отладки. Просто щелкните правой кнопкой мыши на мобильный сервис в «Solution Explorer» и выберите «Attach Debugger». Для того, чтобы воспользоваться этой функцией убедитесь, что вы опубликовали код в режиме «Debug».

*

Другой интересной возможностью в Solution Explorer является команда «View Logs», позволяющая просматривать журналы, заполняемые вашим мобильным сервисом в облаке, в том числе с сообщения об ошибках и трассировка стека.

*

Мы надеемся, что вы сможете по достоинству оценить набор новых функций и возможностей мобильных служб Azure, и рекомендуем вам попробовать их в вашем следующем проекте.

Полезные ссылки


Ссылка: http://www.oszone.net/26160/