Pull to refresh

Comments 6

Ваша реализация
1) шлёт пуши синхронно
2) не обрабатывает протухшие токены
3) не вызывает Dispose для нескольких объектов, создаваемых в процессе работы с HttpClient и HttpWebRequest, что приводит к утечкам ресурсов. Б-га ради, купите уже ReSharper, он вам кучу косяков в коде выявит.
1) Так ведь это лишь метод отправки пушей, а сам метод вызывается асинхронно.
2) Протухшие токены там вряд ли будут, ведь мы отправляем пуш сразу после получения токена, а при следующем вызове этого метода будет получен новый токен.
3) Ну тут согласен, надо допилить чуток, спасибо.
1) Так ведь это лишь метод отправки пушей, а сам метод вызывается асинхронно.
У вас не просто не используется асинхронная обвязка HttpWebRequest, но ещё и происходит синхронное ожидание асинхронной операции с HttpClient: ReadAsStringAsync().Result; В конце 2014-го года не использовать async/await как-то странно.
2) Протухшие токены там вряд ли будут, ведь мы отправляем пуш сразу после получения токена, а при следующем вызове этого метода будет получен новый токен.
Приложение с устройства удалили, код доступа невалиден. Не вижу обработки это ситуации.
1) По какой-то причине с async/await у нас пуши не отправлялись.
2) Опять же, это внешняя логика: если от пользователя приходит новый DeviceID (уникальный и постоянный для каждого устройства) и новый токен push-канала, то старый мы удаляем из базы.
2) Опять же, это внешняя логика: если от пользователя приходит новый DeviceID (уникальный и постоянный для каждого устройства) и новый токен push-канала, то старый мы удаляем из базы.
1) Вы вообще читаете? Приложение удалено. Новый никогда не придёт.
2) У вас пользователь только на одно устройство может получать пуши? Что за бред.
1) Да, действительно старые токены мы не удаляем. Видимо, нужно читать ответ от сервера и по нему определять, устаревший токен или нет.
2) Нет, у каждого пользователя может быть много устройств, но каждому устройству (DeviceID) может соответствовать только один токен push-канала и один пользователь (то есть если другой пользователь зайдёт с этого же устройства, то в БД к записи этого устройства будет приписан новый пользователь, тем самым старому пуши приходить на это устройство уже не будут).
Sign up to leave a comment.