Webサービス(WCF/ASMX/etc)呼び出しに結果が返ってから何らかの処理を行う方法はありますか?注意:私は非同期呼び出しを探していません、余分な処理が行われる前に、クライアントが結果をすぐに返す必要があるためです。Webサービスでアフターコールの処理を行うにはどうすればいいですか?
主な制約は、私が知る限り、サーバー上でコードを実行する唯一の方法は、ASPページまたはWebサービス経由であることです。
バックグラウンドスレッドを生成することでこれを実行できますか?
Webサービス(WCF/ASMX/etc)呼び出しに結果が返ってから何らかの処理を行う方法はありますか?注意:私は非同期呼び出しを探していません、余分な処理が行われる前に、クライアントが結果をすぐに返す必要があるためです。Webサービスでアフターコールの処理を行うにはどうすればいいですか?
主な制約は、私が知る限り、サーバー上でコードを実行する唯一の方法は、ASPページまたはWebサービス経由であることです。
バックグラウンドスレッドを生成することでこれを実行できますか?
あなたはクライアントが知らないか、成功をコントロールする副作用をしたいですか?たとえ即時同期応答を返しても、はです。結果が観察可能であり、クライアントに関心がある場合は、クライアントとオペレーターが後で成功したかどうかを判断するための方法が必要です。
これは、Webサービスをホストする方法(通信とアクティベーションレイヤを提供するWCFから直交している)に依存します。通常のWebサービスホスティングでは、WSコール以外のものを処理することはできません。ほとんどの場合、自分自身を撮影してすべてのサーバーリソースを摂らないようにします。
他のスレッドを作成するのは簡単ですが、IISが自由に行うことを許可する必要はありません。特に、マルチアプリケーションWebホテルで実行している場合は特にそうではありません。
あなたのWebサービスは、おそらくWindowsサーバー上でホストされるでしょうか? Windowsのワークフロー
キックオフ。しかし、彼らはWebサービス自体の一部ではありません。をオフにしてから、 Webサービスコールが終了します。 ASMXとWCFのどちらにも、実際には何もありません。要求を送信してから実行を続けることができます。サービスメソッドは、応答が完了したらそれを送信します。
マーク
最後の1つは私には何も返さない非同期サービスを呼び出します。 – BCS