2016-08-17 30 views
0

他の外部アプリケーションからのイベントを記録するにはコンソールアプリケーションが必要です。 コンソールアプリケーションの目的は、各ステップで外部アプリが何をしているかを画面に表示することです。 この外部アプリケーションは引数付きのexeを呼び出すことができます。C#複数のバッチファイルから同じ出力を出力する

目標は次のとおりです。

  • 外部例
  • 外部いくつかの他の仕事をする
  • を表示するには、引数でコンソールをいくつかの仕事
  • を呼んでくださいExが
  • を表示するには、引数とコンソールを呼び出します。.. 。

しかし、コンソールアプリケーションは再オープンされています呼び出しごとに。 メッセージを待っているコンソールアプリケーションを閉じて表示するには、トリックが必要ですが、実際にはどこから見ていないのですか?

インストールは必要ありませんが、非常に軽量のソリューションである可能性があります。

ありがとうございました。

編集

外部アプリの各段階(パラメータを使用してexeファイルするためのコマンドライン)で、「...実行プログラム」コマンドのみを行うことができます(静かに実行されています)。

各ステップで、ユーザーに出力するためにいくつかの情報をコンソールアプリケーションに送信する必要があります。私は、それぞれのステップで新しいコンソールアプリケーションではなく、ユニークな出力をしたい...

主なアイデアは、外部アプリから情報を送信するためのコンソールアプリを待っているメッセージを実行してバックグラウンドを持つことです。

パラータを備えたLauch Consoleのアプリは、それを止めたり、新しいパラメータで同じことを思い出したりすることはできませんが、可能ではないと思います。

私は解決策は、私の会社で多くのデバイス上に展開することができるbecauses、私はそれぞれ上のサービスやデータベースをインストールカント、マシン上のツールをインストールするカント..

あなたはソリューションのどのような種類が使用されますか?コンソールアプリケーションは受信メッセージを待って、それらを捕まえることができますか?

+3

私は疑問符は表示されません。あなたの問題は何ですか?あなたは何を試しましたか? –

+1

'cmd.exe'を開いてアプリを起動し、stdoutに書き込み、' cmd.exe'を終了しないでください。 :) – bzlm

+0

myconsoleapp ので、パラメータをとり、実行して結果を保存しますか? – BugFinder

答えて

0

これにはさまざまなアプローチがあります。

  • プロセス間通信は - シンプルだが起こりやすいエラー
  • その他の共有ストレージ(データベースやメッセージングサービス) - - 行き過ぎここ
  • 共有ファイルかもしれませおそらく使用して、私のお勧めの方法

だろうデータベースメソッドでは、アプリケーションは各ジョブの「ログ」をデータベーステーブルに挿入します。コンソールアプリケーションは単純なWhileループでループし、行を読み込んで表示することができます。これは、ログを使用してジョブを再起動するなど、スケーラビリティが向上します。

+0

私はいくつかの情報が欠落しているのを見て私の質問を更新しました:) 共有ファイル:私の場合、外部プログラムの各ステップは時間がかかることがあります。私はおそらく無限ループを持つことができます! プロセス間:「リソースにやさしい」ですか? データベース:各デバイスにデータベースをインストールできません。 私はメッセージングサービスを検討しますが、決してこれを実装しませんでした。 私の要件に一致する場合は、私はあなたの答えを検証するでしょうありがとう! – Manea

+0

データベースを使用すると、1つのセントラルデータベースを使用し、すべてのクライアントがネットワーク経由で単純に通信するので、各マシンにデータベースをインストールする必要はありません。プリンシパルは共有ファイルを使用しても同じですが、表示されるデータを単にデータベースまたはファイルに追加するだけで、コンソールアプリケーションはデータベースまたはファイルを定期的にチェックし、最後にチェックしてから追加された新しいデータを表示するだけです。 – Milney

+0

申し訳ありませんが、私は他の情報を見逃しました、それはオフライン状態で動作する必要があります!それ以外の場合は、サービス付きの集中型DBが良い解決策です。 外部ツールを使わずに私の2つのアプリケーション間でコミュニケーションをとるための簡単な方法と、ユニークなコンソール出力が必要ですが、始めに感謝しています。 – Manea

関連する問題