Excel と Word を呼び出す .net (VB .Net) のプログラムがあります。すべてのタスクを完了するには多くの時間がかかります (多くのログを読み取り、データを Excel にエクスポートし、グラフィックを作成し、グラフィックを Word テンプレートにインポートします)。
私の最初の解決策は、ASP Web サイトにプログラムを .dll として含めることでしたが、今は却下しました。プログラムの CPU 使用率が高く、すべてのタスクを実行するには数時間かかる場合があります。Web ページは、CPU 使用率の低いプロセスや迅速なプロセスを実行する必要があります。
今、私には2つのオプションがあります:
A) ASP からプログラムを実行します。
set WshShell = server.CreateObject("WScript.Shell")
wshShell.Run program
B)プログラムを Windows サービスに変換し、MSMQ を介してメッセージを送信するルーチン (ログの読み取り、データの Excel へのエクスポート、グラフィックの作成など) を実行します。
2 つの質問があります。
- 最初に:これらは「良い」解決策ですか? 他に「良い」解決策はありますか?
- 2 番目: プログラムにグラフィック インターフェイスは必要ありません。また、ワードとエクセルもバックグラウンドにあればさらに良いでしょう。これを達成するためのアイデアはありますか?唯一の解決策は、プログラムをWindowsサービスとして使用するオプションB)だと思います。Excel、Word ...は別の「セッション」になり、何も表示されません(これについての別のstackoverflowと、ExcelとWordの作業を行うための問題と解決策を読みました)