我得到了使用WCF的代码,从服务器请求数据。如何从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
和事件:
- GetCompanyInfoCompleted。
Quastions:
我怎样才能从回调方法中的数据?
GetCompanyInfoAsync
和Begin\End
有什么区别?最佳实践:如何异步执行方法,以便我的WPF应用程序的GUI不会冻结?
我们不知道QualerServiceClient从哪里来...... – franssu
它有什么关系吗?我想知道,我如何从列表中的回调和其他类型的quastions中获取数据。 –
因为你正在调用它的一个功能,所以它有点重要。如果您想了解AsycnCallbacks:http://stackoverflow.com/questions/1047662/what-is-asynccallback 在WPF中异步执行代码的最佳实践通常是使用后台工作程序。 – franssu