- PR -

Windowsサービスのデバッグ方法

投稿者投稿内容
burton999
ぬし
会議室デビュー日: 2003/10/06
投稿数: 898
お住まい・勤務地: 東京
投稿日時: 2005-10-11 19:18
Start()メソッドを呼んでいないだけなのでは。。。
KKK
大ベテラン
会議室デビュー日: 2003/10/10
投稿数: 119
投稿日時: 2005-10-11 19:21
引用:

burton999さんの書き込み (2005-10-11 19:18) より:
Start()メソッドを呼んでいないだけなのでは。。。



Start()メソッドは呼んでいます。
ここを通っていることは、ログを出力しているので、
それで確認しました。
(上記のコードでは記述していませんが。。。)
burton999
ぬし
会議室デビュー日: 2003/10/06
投稿数: 898
お住まい・勤務地: 東京
投稿日時: 2005-10-11 20:52
ヘルプを読んだらjobTimer.Enabled = TrueとjobTimer.Start()は同じようですね。。。失礼しました。
甕星
ぬし
会議室デビュー日: 2003/03/07
投稿数: 1185
お住まい・勤務地: 湖の見える丘の上
投稿日時: 2005-10-11 21:41
.NET Frmeworkで提供される3種類のタイマーはそれぞれ特色があるので、理解して使い分ける必要があります。

  • System.Windows.Forms.Timer
    SetTimer API相当のタイマー。ウィンドウハンドルを使うので、UIを持たないサービスや、ASP.NETから使うのは困難。UIと同一スレッド上で動作する。
    UIと連携するような時に使うと良い。

  • System.Threading.Timer
    システムスレッドプールを利用したタイマー。システムスレッドプールを利用するので軽量で、負荷も小さい。反面、長時間にわたる処理を行ったり、沢山Timerを作ると、スレッドプールが枯渇し、呼び出されなくなったり、他のアプリケーションの動作を阻害する可能性がある。
    比較的短時間でタイマー内の処理が完了するときに使うと良い。

  • System.Timers.Timer
    タイマー用に専用のスレッドを生成する。タイマー一つに付き、1個のスレッドを生成するので、リソースを比較的沢山使用する。他のプロセスや処理の影響を受けにくい。
    タイマー内の処理に時間がかかる恐れがある時に使うと良い。


jobTimerってSystem.Timers.Timerですよね。
jobTimerのネームスコープってどうなっています?実行中に破棄されちゃったりしていません?

スキルアップ/キャリアアップ(JOB@IT)