WPF(UI)アプリケーション用のWCF RESTfulサービスを作成しました。 UIはWCFサービスに要求を送信し、WCFサービスはBLLで適切なメソッドを呼び出し、次にDALでメソッドを呼び出します。これらの層はすべてIOC/DIを使用して分離されています。WCF RESTfulサービスのAnsyncスレッド
新しい機能については、特定のタイプの新しいオブジェクトがデータベースに追加されたときに、別のスレッドで実行される3つのステップを実行する必要があります。
サービスが新しいオブジェクトOBJをデータベースに追加する要求をBLLに送信すると、BLLはDALを介してオブジェクトをデータベースに保存し、新しいスレッドを開始してオブジェクトに何も実行しません。 WCF要求をブロックします。
しかし、BLLで新しいスレッドを開始すると、アプリケーションがクラッシュします。これは、データベースコンテキストの 'InRequestScope'オブジェクトが破棄され、スレッドがデータベースを更新できないためです。また、WCF要求は、戻り値が提供され、BLLメソッドが実行を完了したにもかかわらず、スレッドが完了するまで終了しません。
どんな助けがあれほど価値があります。
さらに、クライアントが応答を待つことがないように、サーバー上でプロセスを実行する必要がありました。サーバーサイドのプロセスを超えていると、クライアントがシャットダウンしても実行されます。また、サーバー上のトラフィックを減らすこともできます。 –