実行に時間がかかる Web サービスがあります。処理タスクをバックグラウンド スレッドに委任し、確認応答をすぐにユーザーに返すことを計画しています。
この場合、バックグラウンド スレッドの寿命が心配でした。
メイン メソッド/スレッドが実行を終了する前に、バックグラウンド スレッドは委任されたタスクを完了しますか?
実行に時間がかかる Web サービスがあります。処理タスクをバックグラウンド スレッドに委任し、確認応答をすぐにユーザーに返すことを計画しています。
この場合、バックグラウンド スレッドの寿命が心配でした。
メイン メソッド/スレッドが実行を終了する前に、バックグラウンド スレッドは委任されたタスクを完了しますか?
サービスを非同期で呼び出す必要があります。
var service = new YouServiceClient();
service.SomeMethodCompleted +=
(sender, args) +=
{
// Put code here to handle the response and extract a return value or whatever.
}
service.SomeMethodAsync();
詳細については、「方法: WCF サービス操作を非同期的に呼び出す」を参照してください。