Извините, я не могу опубликовать код, но вот что происходит в деталях.
Пользователь открывает форму
он добавляет прослушиватель событий, например:
GP.GlobalInfo.CommWCF.serviceClient.GetFilteredMessageCompleted += new EventHandler<GetFilteredMessageCompletedEventArgs>(serviceClient_GetFilteredMessageCompleted);
, а затем отправляет асинхронное сообщение на сервер для получения необходимых данных из базы данных.
в то же время форма добавляет другого прослушивателя событий, а затем отправляет другое сообщение:
GP.GlobalInfo.CommWCF.serviceClient.GetFilteredMessageCompleted += new EventHandler<GetFilteredMessageCompletedEventArgs>(serviceClient_GetFilteredMessageCompletedAnother);
поэтому клиент (форма) ожидает двух сообщений.
как только сообщения будут возвращены, форма будет отображать данные в сетке.
Кажется, не работает, как я ожидаю. как-то сообщения застревают где-то.
Итак, я хотел бы знать, если мой подход неверен.
В другом случае , на экране есть пять объектов, на которые я могу нажать.
Эти пять объектов будут использовать один и тот же класс для создания.
нажатие на объект приводит к форме с соответствующими данными.
если я щелкну первый объект, форма добавит прослушиватель событий и отправит сообщение на сервер.
пока форма ожидает данные, я закрываю форму, а затем открываю другую форму, щелкая другой объект.
Новая форма добавит прослушиватель событий и отправит новое сообщение на сервер.
Между тем сервер обрабатывает первое сообщение формы и возвращает результат во вторую форму, а не в первую (это было закрыто).
это то, что я испытываю сейчас.
Кто-нибудь может дать мне какое-то решение как можно скорее для лучшего поведения и понимания silverlight и WCF.
Я думаю, что я должен отправить сообщение об остановке на сервер или что-то ..
------- старый вопрос ----------
Привет У меня, кажется, есть некоторые проблемы со связью между клиентом и сервером.
при открытии формы открываются три слушателя. Каждый слушатель получает необходимые данные.
Я думаю (не уверен), что silverlight застревает, когда он общается с использованием этих трех слушателей одновременно.
Так, я должен использовать только одного слушателя, работающего в одно и то же время, всегда в серебряном свете?
ну как,
клиент запрашивает данные с сервера
клиент запрашивает данные B с сервера
клиент сохраняет данные C на сервере
эти вещи не могут быть сделаны одновременно?
Всегда ли я проверяю единый процесс связи между клиентом и сервером?
Спасибо