2011-07-14 7 views
1

私はスケジュールされたタスクによって起動されるコンソールアプリケーションを持っています。私は新しいスレッドでこのコンソールアプリケーションを永久に実行したいと思います。コンソールアプリケーションの新しいバージョンが置かれると、メインコードが実行されます。 (おそらくメインコードが実行されると、コンソールEXEでモニタスレッドを実行する必要があります。exeが変更されると、シェル実行がコンソールアプリケーションに再び呼び出され、元のスレッドが中止されます)。メモリで実行中の自己更新アプリケーション

+0

多分新しいスレッドは必要ありません。多分、私は、コンソールアプリケーションを実行するコールバックとファイルキャッシュの依存関係を追加することができます。しかし、コンソールアプリケーションの実行が終了して終了すると、私はキャッシュがクリアされていると推測しています。 – user666423

+0

コンソールアプリケーションの実行中にexeプログラムを置き換えることができないと思います。コンソールアプリは長時間走っていますか?コンソールアプリケーションをスケジュールされた時間に実行したいのですが、新しいバージョンが配置されている場合は、スケジュールされた時間に加えて、すぐにそれを実行しますか? – hatchet

答えて

1

main関数を書き換えて、コードの実際のロジックを別のAppDomainで実行します。更新プログラムをインストールする準備ができたら、そのAppDomainをシ​​ャットダウンし、新しいコードで別のアプリケーションを起動します。

+0

優れたアプリドメインがそれを行う必要があります。 – user666423

関連する問題