我是 WCF 服务的新手,我试图弄清楚当我异步调用我的 WCF 服务时是否有更好的方法来更新 WPF UI 元素(如标签控件)。
这是一段代码:
private void button1_Click(object sender, RoutedEventArgs e)
{
int result;
CalculatorServiceClient proxy = new CalculatorServiceClient();
AsyncCallback addOperation = (async_result) =>
{
result = proxy.EndAdd(async_result);
Dispatcher.Invoke(DispatcherPriority.Normal,
new Action(
delegate()
{
label1.Content = result.ToString();
}
)
);
proxy.Close();
};
proxy.BeginAdd(Convert.ToInt32(txtNumber1.Text), Convert.ToInt32(txtNumber2.Text), addOperation, null);
}
如您所见,我正在使用由 AsyncCallback 获得的异步结果更新 label1.Content。
我的问题是,有没有更好或更正确的方法来刷新这个异步回调操作中的 UI 控件?
提前致谢!