处理Windows Phone7中的异步操作

时间:2011-06-06 07:54:56

标签: windows-phone-7 asynchronous mobile-application

我正在开发一个Windows Phone7应用程序,其中我点击时有两个App栏按钮,这样就可以在Web响应时执行对Web和回调的异步调用。

现在我的问题是,如果我点击一个按钮并且Async操作正在后台运行,同时如果我点击另一个按钮,两个回调都是一个接一个地执行,这显然不是很好。任何人都可以帮我解决这个问题吗?

首先我想在1次异步操作时禁用其他按钮。但它并没有给用户带来良好的感觉。那么处理这个问题的最佳方法是什么?

2 个答案:

答案 0 :(得分:1)

您可以使用Flag变量并在异步调用完成方法中检查其值。根据您的要求,您可以选择更新或不更新视图。

答案 1 :(得分:0)

我一直在找同样的答案。

我找到了解决方案,如果你在这样的构造函数中初始化一个对象,当你调用一个服务函数时会得到多个循环:

public partial class MainPage : PhoneApplicationPage
{
MovieServiceClient mov;

public MainPage()
{
mov = new MovieServiceClient(); //Don't do this.
InitializeComponent();

}
}

避免这样做。