Сайт dreamspark пишет что код истек :( |
Использование Windows Azure Mobile Services
Диагностика мобильных сервисов
Перед тем, как начинать анализировать возникающие проблемы с любым из сервисов Windows Azure, необходимо узнать, нет ли глобальных проблем с этими сервисами. Платформа предоставляет сервисную панель http://www.windowsazure.com/en-us/support/service-dashboard/, на которой в исторической перспективе можно увидеть состояние и "здоровье" сервисов. Windows Azure Mobile Services не являются исключением – отправной точкой для диагностики должна быть именно эта панель.
Для каждого из мобильных сервисов также доступна собственная диагностическая оснастка, которая показывает, сколько было вызовов API, сколько процессорного времени они заняли, а также сколько было исходящего трафика. Разработчик может логировать действия с помощью объекта console, например, console.error() или console.log(). Неоценимую помощь в диагностике оказывают такие средства, как NetMon (Microsoft Network Monitor), WireShark и Fiddler. Для эффективной диагностики необходимо понимать основы архитектуры разрабатываемой с использованием Windows Azure Mobile Services системы – так, в любой архитектуре будет наличествовать два слоя – серверная логика (мобильный сервис) и клиентская (приложение-клиент). После создания мобильного сервиса клиенту становится доступна точка входа HTTPS, на которую клиент может отправлять запрос одного из пяти типов (аутентификация и четыре запроса на взаимодействие с данными). Поэтому, рассматривая проходящий трафик с помощью одной из вспомогательных утилит, необходимо обращать внимание на HTTP-коды, приходящие с сервера. Так, если с сервера приходит код 401, это означает, что запрос имел проблему с аутентификацией – в этом случае необходимо проверить, есть ли соответствующие разрешения на таблице, к которой осуществляется доступ. Если данные были успешно возвращены, то проблема может располагаться на клиентской стороне – необходимо проверить, что происходит с пришедшими данными, каким образом приводятся типы и т.д.
Рассмотрим на примере использование Fiddler.
Создадим таблицу в уже готовом мобильном сервисе.
Скопируем URL мобильного сервиса с панели Dashboard. С помощью тестового приложения в таблицу были добавлены несколько записей.
Запустим Fiddler и нажмем F12 для выключения постоянной "прослушки" траффика. Введем URL мобильного сервиса в поле адреса и нажмем Execute. Обратим внимание, что сервер возвратил код 401, то есть ошибку аутентификации.
Изменим права доступа к таблице TodoItem. Для этого перейдем на вкладку Data и, нажав на имя таблицы, изменим права доступа на операцию чтения на Everyone.
Вернемся в Fiddler и выполним еще раз ту же операцию.