對不起,我不能發佈代碼,但這裏是詳細發生的事情。客戶端和服務器之間的silverlight通信
用戶打開窗體 它添加一個事件監聽器等:
GP.GlobalInfo.CommWCF.serviceClient.GetFilteredMessageCompleted += new EventHandler<GetFilteredMessageCompletedEventArgs>(serviceClient_GetFilteredMessageCompleted);
,然後發送一個異步消息發送到服務器,以獲得所需的從數據庫中的數據。 同時,形式增加了另一個事件偵聽器,然後發送另一個消息:
GP.GlobalInfo.CommWCF.serviceClient.GetFilteredMessageCompleted += new EventHandler<GetFilteredMessageCompletedEventArgs>(serviceClient_GetFilteredMessageCompletedAnother);
所以客戶端(形式)正在等待要被返回的兩個消息。一旦返回消息,表單將在網格中顯示數據。
它似乎不工作,因爲我期望。不知何故消息卡在某處。所以,我想知道我的方法是否是錯誤的。
另一種情況是,有我可以點擊屏幕上的五個對象。 這五個對象將使用相同的Class創建。 單擊一個對象將帶有相應數據的表單。 如果我單擊第一個對象,表單將添加一個事件偵聽器並向服務器發送消息。當表單正在等待數據時,我關閉表單,然後通過單擊另一個對象打開另一個表單。 新表單將添加一個事件偵聽器並向服務器發送一條新消息。
與此同時,服務器一直在處理第一個表單消息,並將結果返回給第二個窗體..不是第一個窗體(已關閉)。
這就是我現在的經歷。 任何人都可以給我一些解決方案,以更好的行爲和理解silverlight和WCF。 我想我應該發送停止消息發送到服務器或東西..
-------老問題----------
您好我似乎有一些問題與客戶端和服務器之間的通信。
當表單打開時,會打開三個偵聽器。每個監聽者都可以獲得所需的數據。
我認爲(不確定)silverlight在卡巴同時使用這三個監聽器的時候卡住了。
那麼,我應該只使用一個運行在silverlight中的監聽器嗎? 這麼喜歡,
客戶要求從服務器
客戶要求B數據的數據從服務器 客戶節省C數據服務器
這些東西不能在同一時間做了什麼? 我是否總是確保客戶端和服務器之間的單一通信過程?
感謝
嗯..你可以在一個更具體的方式解釋一下你的「聽衆」的意思,而究竟是什麼你的問題。如果你可以提供一些代碼,那會更好。可悲的是,現在沒有人能夠回答你。 – Eilistraee 2010-10-12 17:06:02