私はウェブアプリケーションで働いている.net開発者です。過去数ヶ月から、私はWindowsアプリケーションの開発に着手しました.12の正午に毎日実行する必要がありましたので、Googleの助けを借りてWebサービスを作成しました。 。タスクスケジューラまたはタスクマネージャと比較して、ウィンドウサービスは内部的にどのように動作しますか?
しかし、私はWindowsサービスの仕組みについて疑問を抱いています。 私はたくさんの投稿を読んだが、誰も私の質問に答えなかった。
Webサービスの私の理解によれば、私は24時間すべて実行するタイマーを使用してスケジューラーを作成し、タイマー条件が満たされたときに必要なコードを実行します。
スケジューラでは、時間条件が満たされたときにアプリケーション(前のケースではサービス)を実行するスケジューラを設定します。
今私の質問:
RAMの使用量については?
私はサービスがRAMを利用していることを知っています。しかし、私のコードが10MBを考慮するように重いと考える場合。 The.exe fore.exeファイルは約10MB以上になります。だから、サービスが始まると、24時間に10MBのRAMがすべて使用されるか、サービスがスケジューラになってかなり小さくなり、時間が経過するとサービスコードがロードされます。
スケジューラを考慮するとどのように動作しますか?私は、時間が満たされたときに起動されるトリガーがあると思う。起動された.exeファイルは一般的に私がサービスと呼ぶことができます(ただしアプリケーションです)。サービスコードはスケジューラから分離されているので、スケジューラだけが実行され、サービスコードがRAMにロードされます。
私は正しいですか? スケジューラは24時間のチェック時間もすべて実行しますか?
- 1つのインストーラで2つのサービスがある場合に備えてください。今度は2つのサービスがインストールされます。しかし、私は、両方のサービスがそれぞれ20MBの.exeサイズを持つ10MBの容量を持っているかどうかを知りたいと思います。両方のサービスが稼働を開始すると、サイズはそれぞれ10MB(相対的なサービスコードがあるとみなす)か20MB同じexeにあるため両方のサービスコードが読み込まれます)。
貴重なご意見をお寄せください。
ありがとうございます。
1日に1回だけ実行するコードが必要な場合は、サービスは一切必要ありません。Windowsタスクスケジューラを使用して.exe(コンソールアプリケーション)を実行してください。 – Evk
はい。という事は承知しています。しかし、それは私の質問ではありません。私の質問は、私が選ぶべきものではありません。私の質問は、メモリ、RAM、コード実行のロジックという点でどうやって動作するかです。 –