Silverlight使用WCF调用svc方法的问题。
例如我在svc中写了个方法名为GetName()调用的时候是会有个GetNameAsync()的方法吧。可是我发现了个无比尿性的事情。在调用那个Async方法时他不会立即...
例如我在svc中写了个方法名为GetName()
调用的时候是会有个GetNameAsync()的方法吧。
可是我发现了个无比尿性的事情。
在调用那个Async方法时他不会立即执行GetName()方法并获取数据。而是继续执行下面的代码,等到这块代码执行完了,他才进入GetName()方法中。
这简直蛋疼的无可救药,我下面的代码马上就要使用GetName()的数据,中间不知道报了多少次未将对象引用到对象的实例。搞了半天才发现是这样的。求解有无更好的方法? 展开
调用的时候是会有个GetNameAsync()的方法吧。
可是我发现了个无比尿性的事情。
在调用那个Async方法时他不会立即执行GetName()方法并获取数据。而是继续执行下面的代码,等到这块代码执行完了,他才进入GetName()方法中。
这简直蛋疼的无可救药,我下面的代码马上就要使用GetName()的数据,中间不知道报了多少次未将对象引用到对象的实例。搞了半天才发现是这样的。求解有无更好的方法? 展开
2个回答
展开全部
Async表示是异步调用函数嘛,即是无等待执行,不管数据有没返回,直接执行下一行代码.与其相反的是同步,同步会按顺序执行代码.
与GetNameAsync()相对应返回执行函数是GetNameCompleted(),GetNameAsync是发送命令,GetNameCompleted是接收结果,两者配合使用.你将"继续执行下面的代码"代入这个函数内
写法如下:
public void Init_Load(){
...省略
client.GetNameCompleted += GetNameCompleted;
client.GetNameAsync();
}
private void GetNameCompleted(object sender ,GetNameCompletedEventArgs e){
if(e.Error == null){
//继续执行下面的代码
}
}
与GetNameAsync()相对应返回执行函数是GetNameCompleted(),GetNameAsync是发送命令,GetNameCompleted是接收结果,两者配合使用.你将"继续执行下面的代码"代入这个函数内
写法如下:
public void Init_Load(){
...省略
client.GetNameCompleted += GetNameCompleted;
client.GetNameAsync();
}
private void GetNameCompleted(object sender ,GetNameCompletedEventArgs e){
if(e.Error == null){
//继续执行下面的代码
}
}
追问
我的那个方法是带参方法,没办法在初始化的时候就读取数据的。现在我就是在想如何让他获取完数据后再执行下一行的代码。 求教。不好意思发评论里面去了= =
浙江启扬智能科技有限公司
2023-06-12 广告
2023-06-12 广告
在嵌入式开发中,建立交叉开发环境可以提高开发效率和代码质量。以下是建立交叉开发环境的一些原因:1. 硬件资源限制:嵌入式系统的硬件资源,如处理器主频、内存容量等,相对于PC机来说较为有限。利用PC机进行开发可以利用更快的硬件设备,提高开发效...
点击进入详情页
本回答由浙江启扬智能科技有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询