首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > CAD教程 >

silverlight 中webservice的有关问题

2012-03-19 
silverlight 中webservice的问题先谢谢各位大大。多谢你们不厌其烦的解答我的问题sl3中调用webservice只能

silverlight 中webservice的问题
先谢谢各位大大。
多谢你们不厌其烦的解答我的问题



sl3中调用webservice只能是异步的么?sl2中好像是的。

void Run()
{
  client.xxxCompleted+=(xxx_Completed)
  client.xxxAsync(xxx)
}

void xxx_Completed(obj sender,Event e)
{
  node =e.Result.ToList();
}

Run方法执行完了node还是空。
我想问一下。怎么让node为空的时候等待直到取得webservice返回的值再执行下面的语句。

[解决办法]
把语句写在 xxx_Completed这个方法里面?
[解决办法]

探讨
先谢谢各位大大。
多谢你们不厌其烦的解答我的问题



sl3中调用webservice只能是异步的么?sl2中好像是的。

void Run()
{
client.xxxCompleted+=(xxx_Completed)
client.xxxAsync(xxx)
}

void xxx_Completed(obj sender,Event e)
{
n……

[解决办法]
忽忽,是异步的说。e.Result只能传递数据,而不传递方法吧
[解决办法]
引用他应该已经加了

void xxx_Completed(obj sender,Event e)
{
node =e.Result.ToList();
}

e.Result只是传递数据
[解决办法]
你是不是想在 Run()运行后,然后阻塞当前线程。然后直到 node获得的服务器返回的值后在继续执行?这样是不行的,阻塞当前线程后xxx_Completed()不会被执行。直到线程空闲。所以Run()后面的代码要靠xxx_Completed()来处发执行。
[解决办法]
C# code
void Run(){  client.xxxCompleted+=(xxx_Completed)  client.xxxAsync(xxx)}void xxx_Completed(obj sender,Event e){if(e.Error==null&&e.Result!=null){  node =e.Result;  //在收到正确的数据结果,才进行下一步动作,不必要求同步进行  dosomething();}else{//在这里进行容错处理}} 

热点排行