Oxoron: в каждом вызове создается новый WebClient, по идее они никак не связаны. К сожалению сейчас проблема перестала воспроизводиться и я не могу проверить(
@carbon88 it depends.. в данном конкретном случае да. однако в других ситуациях я ловлю респонс (не обязательно относящийся к Record) во VM, чтобы освободить ее (перед колом выставяю IsBusy, который привязан к прогресс бару и используется в *CanExecute() для комманд, а при получении респонса освобождаю IsBusy) а быть может это не столько важно? Сейчас используется механизм call/event. Если я решусь его переписать, то скорее всего с использованием async/await и эта проблема должна отпасть, верно? Просто я много горя хлебнул с глобальным объектом и приаттачеными (и забытыми отаттачить) обработчиками его эвентов, стреляющими то тут, то там.. поэтому и решил все переписать, используя более независимые сущности.
@carbon88 хорошо, но как правильно поместить этот сервис внутрь Record? Если этот сервис будет в единственном экземпляре, то как в данном правильно словить нужный респонс от сервиса?
@carbon88 да. Либо напрямую запустил post запрос, либо дернул метод like для данной Record из некой сущности, но чтобы снаружи это выглядело для меня как тупо Record.Like(). Это сильно упрощенный пример, есть у меня еще объект Feed в планах. Сейчас это тупо список, который дергается 2 разными функциями и с горем-пополам мержится. Я бы хотел сделать Feed как самостоятельный Enumerable, что бы при итерации он сам занимался подгрузкой и объединением.
Record в теории может и сам себя создать, например по ID записи или URL, но опять же вопрос в tokenе. Мне мой текущий API не нравится своей псевдоасинхронностью. То есть если пользователь быстро вызовет Like для разных записей, то значит в Completed я должен буду передать и сам Record, чтобы понять к чему он относится (но я сделал иначе - меняю у Record свойство IsLiked, которое нотифайбл, хотя уверен, что это не правильно)
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
В моем случае юзер уже залогинен