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