【发布时间】:2023-03-06 15:26:01
【问题描述】:
我是 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 控件?
提前致谢!
【问题讨论】:
标签: wpf wcf asynchronous dispatcher