- PR -

Windowsサービスのコーディング

1
投稿者投稿内容
山田
常連さん
会議室デビュー日: 2004/11/22
投稿数: 25
投稿日時: 2004-11-22 14:41
初めまして。C#初心者です。よろしくお願い致します。

現在、特定ディレクトリのファイル構成を監視するシステムを
作成しています。※FileSystemWatcher使用
その、監視プログラムをPCに常駐させたいので、サービス化しようと
考えているのですが・・・。

作成したサービスの登録は正常に行われるのですが
サービスを開始すると、エラーが発生してしまいます。

public class Service : System.ServiceProcess.ServiceBase

  private Thread _thread;

  private FileCheck _clsFileCheck = new FileCheck();
-------- 中略 --------------
  protected override void OnStart(string[] args)
  {
    this._thread = new Thread( new ThreadStart( this._clsFileCheck.OnStart ));

    // スレッド開始
    this._thread.Start();
  }

OnStartメソッドの中身をコメントにした後、サービス登録すると
正常に開始出来ましたので、OnStartメソッドの書き方が間違っている
ことは分かるのですが・・。
OnStartでファイル監視クラスを呼び出すスレッドを作成、実行しようと
考えているのですが、エラーになります。
ちなみに、FileCheck(ファイル監視クラス)のOnStart()メソッド内は
あるプロパティをTrueに設定しているだけの処理です。

どなたか、ご教授下さいますよう、よろしくお願い致します。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-11-22 22:51
 どういうエラーが発生して、どういうメッセージが表示されて(ログされて)いるのか、省略しないでください。それがわからなければ、答えようがありません。

 また、デバッグの基本として、どこでエラーが発生するのか、きちんと押さえてください。また、例外が発生していれば、例外の説明とともになぜ例外になったかも記述されています(.NET Framework内で発生した場合)から、それを元に、なぜエラーになったのか、を考えましょう。
_________________
1

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