0

UI スレッドで多くの作業を行う必要があります。この作業は、多くの CPU およびメモリ リソースを消費します。現在の認識では Dispatcher.BeginInvoke() メソッドを使用していますが、アプリケーションがフリーズします。

このジョブを GUI なしで子プロセスに委譲するとどうなりますか? メインプロセスは子プロセスを実行します。そのメインアプリケーションが子プロセスにいくつかのコマンドを送信した後、子プロセスはいくつかのジョブを実行し、結果オブジェクトをホストプロセスに返しますか?

ホストプロセスと子プロセスの間で通信する方法は? .NET リモーティング (マーシャリング) については知っていますが、それは時代遅れの方法です (またはそうではありませんか?)。

私の悪い英語に感謝し、申し訳ありません。

4

1 に答える 1

0

親プロセスと子プロセスが双方向の WCF パイプによって監視される子プロセス管理ライブラリを作成しました。子プロセスが終了した場合、または親プロセスが終了した場合は、互いに通知されます。VSデバッガーを開始された子プロセスに自動的にアタッチするデバッガーヘルパーも利用できます

プロセス間に拡張可能な通信インフラストラクチャがあります。WCF の知識は必要ありません。

プロジェクトサイト:

http://www.crawler-lib.net/child-processes

NuGet パッケージ:

https://www.nuget.org/packages/ChildProcesses https://www.nuget.org/packages/ChildProcesses.VisualStudioDebug/

于 2015-04-08T23:22:24.263 に答える