我正在开发一个Windows Phone7应用程序,其中我点击时有两个App栏按钮,这样就可以在Web响应时执行对Web和回调的异步调用。
现在我的问题是,如果我点击一个按钮并且Async操作正在后台运行,同时如果我点击另一个按钮,两个回调都是一个接一个地执行,这显然不是很好。任何人都可以帮我解决这个问题吗?
首先我想在1次异步操作时禁用其他按钮。但它并没有给用户带来良好的感觉。那么处理这个问题的最佳方法是什么?
答案 0 :(得分:1)
您可以使用Flag变量并在异步调用完成方法中检查其值。根据您的要求,您可以选择更新或不更新视图。
答案 1 :(得分:0)
我一直在找同样的答案。
我找到了解决方案,如果你在这样的构造函数中初始化一个对象,当你调用一个服务函数时会得到多个循环:
public partial class MainPage : PhoneApplicationPage
{
MovieServiceClient mov;
public MainPage()
{
mov = new MovieServiceClient(); //Don't do this.
InitializeComponent();
}
}
避免这样做。