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.
質問:
コールバック メソッドからデータを取得するにはどうすればよいですか?
GetCompanyInfoAsync
とはどう違いBegin\End
ますか?ベスト プラクティス: WPF アプリの GUI がフリーズしないように、メソッドを非同期で実行するにはどうすればよいですか?