【发布时间】:2010-10-12 16:27:17
【问题描述】:
抱歉,我无法发布代码,但这里有详细的情况。
用户打开一个表单 它添加了一个事件侦听器,例如:
GP.GlobalInfo.CommWCF.serviceClient.GetFilteredMessageCompleted += new EventHandler<GetFilteredMessageCompletedEventArgs>(serviceClient_GetFilteredMessageCompleted);
然后向服务器发送异步消息以从数据库中获取所需的数据。 同时,表单添加了另一个事件监听器,然后发送另一个消息:
GP.GlobalInfo.CommWCF.serviceClient.GetFilteredMessageCompleted += new EventHandler<GetFilteredMessageCompletedEventArgs>(serviceClient_GetFilteredMessageCompletedAnother);
所以客户端(表单)正在等待返回两条消息。 一旦返回消息,表单将在网格中显示数据。
它似乎没有像我预期的那样工作。不知何故,消息卡在某个地方。 所以,我想知道我的方法是否错误。
另一种情况是,屏幕上有五个我可以点击的对象。 这五个对象将使用同一个类来创建。 单击一个对象会带来一个带有相应数据的表单。 如果我单击第一个对象,表单将添加一个事件侦听器并向服务器发送一条消息。 当窗体等待数据时,我关闭窗体,然后通过单击另一个对象打开另一个窗体。 新表单将添加一个事件侦听器并向服务器发送一条新消息。
同时,服务器一直在处理第一个表单消息,并将结果返回到第二个表单..而不是第一个表单(已关闭)。
这就是我现在所经历的。 任何人都可以尽快给我一些解决方案,以便更好地理解silverlight和WCF。 我想我应该向服务器发送停止消息之类的......
--------老问题----------
您好,我的客户端和服务器之间的通信似乎有些问题。
当打开一个表单时,会打开三个侦听器。每个侦听器都获取所需的数据。
我认为(不确定)silverlight 在同时使用这三个侦听器进行通信时卡住了。
那么,我是否应该始终在 silverlight 中只使用一个同时运行的侦听器? 就像,
客户端向服务器请求 A 数据
客户端向服务器请求 B 数据
客户端将C数据保存到服务器
这些东西不能同时做? 我是否总是确保客户端和服务器之间的单一通信过程?
谢谢
【问题讨论】:
-
hmm.. 你能用更具体的方式解释你所说的“听众”是什么意思,你的问题到底是什么。如果能提供一些代码就更好了。很遗憾,现在没有人能回答你了。
标签: c# visual-studio-2008 silverlight wcf silverlight-3.0