我得到了使用 WCF 从服务器请求数据的代码。
例如:
public static Company LoadCompanyInfo(Guid session)
{
var client = new QualerServiceClient("QualerService");
return client.GetCompanyInfo(session);
}
我需要让我的 wpf 应用程序异步运行这些代码。
我尝试:
public static Company LoadCompanyInfoAsync(Guid session)
{
var client = new QualerServiceClient("QualerService");
client.BeginGetCompanyInfo(session, new AsyncCallback(EndLoadCompanyInfoAsync), client);
// How to Get Data from AsyncCallback function?
return null;
}
private static void EndLoadCompanyInfoAsync(IAsyncResult r)
{
var client = r.AsyncState as QualerServiceClient;
var result = client.EndGetCompanyInfo(r);
// how to return the result value ??
}
但我不知道如何从回调函数返回数据。
我有方法:
BeginGetCompanyInfo 和 EndGetCompanyInfo
获取公司信息异步
和事件:
- 获取公司信息已完成。
问题:
如何从回调方法中获取数据?
GetCompanyInfoAsync
和 和有什么不一样Begin\End
?最佳实践:如何异步执行方法,使我的 WPF 应用程序的 GUI 不冻结?