4

多くのスレッドと多くの複雑な静的オブジェクトを含む大規模なアプリケーションがあります。現在、ユーザーがログアウトすると、アプリケーションが再起動され、アプリケーションが強制的に初期状態にリセットされます。

このプロセスは Windows サービスに変更されているため、この方法は使用できなくなりました。同様に、ユーザーがログアウトしたときに状態をリセットする方法を適切に実装するには、コードが混乱しすぎています。

プロセス全体の初期メモリをディスクに書き込み、リセットが要求されたときにそれをロードするアプローチがあるのではないかと考えていましたが、これにはカーネルモードの状態を保存できないなど、多くの問題があります。

実際にプロセスを再起動せずに、このプロセスを初期状態にリセットする方法が必要です (ただし、汚れています)。winapi はこれを達成できるものを提供してくれますか?

4

3 に答える 3

2

Windowsはここでは役に立ちません。特効薬を探すのではなく、独自のコードで問題を解決する必要があります。あなたは言う

コードが混乱しすぎて、ユーザーがログアウトしたときに状態をリセットする方法を適切に実装できません。

それがあなたの唯一の選択肢なので、あなたはそれを再考する必要があります。

于 2012-05-10T21:35:51.897 に答える
0

すべてを書き直す必要はありません (これを行う必要があります)。現在のロジックをすべてワーカー スレッドに移動するだけで、サービスは必要に応じてそのスレッドを生成、終了、再生成できます。サービス プロセス自体は引き続き実行されます。

于 2012-05-10T21:56:04.370 に答える