Как определить, кто вызывает призму четного подписчика? или несколько звонков по подписке - PullRequest
0 голосов
/ 10 сентября 2011

У меня есть метод подписки в одной модели представления, который прослушивает публикации событий в другой модели представления.По какой-то причине, что я не могу понять, когда метод publish запускается, метод подписки запускается несколько раз (в моем случае четыре каждый раз).У меня есть точки останова на каждой публикации, кроме первого вызова публикации, ни одна из них не срабатывает.

Стек вызовов не меняется, когда происходит несколько вызовов по подписке.

Как я могу определитьчто вызывает множественные вызовы для подписки?

ОБНОВЛЕНИЕ : Оказалось, что это был ответ "дох", когда я его нашел.Рассматриваемые модели представления были коллекцией моделей представления для строк таблицы / сетки, и, естественно, чем больше строк добавлялось в сетку, тем больше подписчиков добавлялось в агрегатор событий.Мне нужно было реализовать логику отказа от подписки, чтобы избавиться от тех, которые мне не нужны.

1 Ответ

0 голосов
/ 10 сентября 2011

Если вы используете внедрение зависимостей с этим, вы могли бы создать фиктивный класс-обертку, который удовлетворяет IEventAggregator и маршрутизирует к EventAggregator и перехватывает все вызовы подписки там?Я видел подобное поведение с подпиской, которая происходит при создании экземпляра ViewModel в сочетании с элементами управления с отрывными вкладками.

...