Доступ к службе Azure Mobile на Windows Phone из разных проектов

1

Привет, у меня есть следующее исключение:

Дополнительная информация: Запрос не может быть заполнен. (Неверный запрос)

Я не понял, почему, поскольку функция работала иногда, я поэтому нашел следующее в stackoverflow: MobileServiceInvalidOperationException при попытке получить данные из Azure. Эта проблема, к сожалению, не решает мою проблему.

Время правильное, и я использую https-соединение. И все общение работает отлично. Однако я поделил приложение Windows Phone Silverlight на несколько проектов, поэтому я указал в другом вопросе stackoverflow: Удаление проекта/страниц/пользовательских элементов из памяти.

Поток приложения:

  • Проект 1:

    1. Вход (аутентификация мобильного телефона)
    2. После успеха перейдите в Mainmenu.
    3. Служба связывается с await MobileService.InvokeApiAsync<DTO.UserInfoDTO, DTO.UserInfoDTO>(UserInfoDTO); Успех ВСЕГДА!
    4. MobileService сохраняется в ресурсах Application.Current.Resources.Add("NavigationParam", App.MobileService); и выполняется переход к новому проекту.
  • Проект 2:
    1. MobileService = MobileServiceClient)Application.Current.Resources["NavigationParam"]; параметр навигации MobileService = MobileServiceClient)Application.Current.Resources["NavigationParam"]; (информация выглядит неповрежденной при просмотре отладчика).
    2. Служба связывается с await MobileService.InvokeApiAsync<DTO.UserInfoDTO, DTO.UserInfoDTO>(UserInfoDTO); Успех НИКОГДА!

Я знаю, что пакеты находятся в порядке в Project 2, потому что я могу загрузить информацию в хранилище blob, и в обоих проектах они одинаковы. Но как только я свяжусь со своей собственной бэкэнд-службой, приложение вылетает с указанным выше исключением.

Так может ли кто-нибудь помочь мне в этой проблеме, мне нужно создать новый mobileservicecient и повторно проверить подлинность? Кажется глупым?

Теги:
azure
silverlight
azure-mobile-services
windows-phone-8

1 ответ

1
Лучший ответ

Я не уверен, что происходит не так, но в целом я бы рекомендовал создать новый экземпляр клиента здесь.

Чтобы избежать проблемы с регистрацией, я бы посмотрел на кэширование токена мобильной службы. (См. Http://azure.microsoft.com/en-us/documentation/articles/mobile-services-windows-dotnet-how-to-use-client-library/#caching)

Затем вы можете развернуть новый клиент, повторно использовать существующие токены auth/etc и продолжить.

  • 0
    Я посмотрю на это сегодня, спасибо!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню