DOBON.NET DOBON.NETプログラミング掲示板過去ログ

サービスについて

  • 題名: サービスについて
  • 著者: やっぱ初心者
  • 日時: 2008/12/19 12:57:02
  • ID: 23641
  • この記事の返信元:
    • (なし)
  • この記事への返信:
  • ツリーを表示
環境/言語:[XP]
分類:[.NET]

サービスをインストールする際に質問です。

taskA,taskB,taskC,taskDのサービスを作成しています。

ServicesToRun = new ServiceBase[] { new taskA(), new taskB(), new taskC(),new taskD() };

ServiceBase.Run(ServicesToRun);

としていますが、それぞれログオンアカウントをサービスで指定すると
1079: このサービスに対して指定された: アカウントは、同じプロセス内で実行中のほかのサービスに対して指定されたアカウントと異なります。
とエラーが表示されます。

そこで、taskA,taskBを別々のインストーラーに分けて、taskC,taskDを同じインストーラーにして、プロジェクト内でインストーラーを3つに分けました。

そこで実行するとtaskA,taskBをそれぞれ実行すし、サービスで参照するときちんと動いているように見えるのですが、
イベントログのアプリケーションログを見るとtaskBは実行されず、taskAが2つ実行されているのですが、回避方法が分かりません。

宜しくお願いします。
> そこで実行するとtaskA,taskBをそれぞれ実行すし、サービスで参照するときちんと動いているように見えるのですが、
> イベントログのアプリケーションログを見るとtaskBは実行されず、taskAが2つ実行されているのですが、回避方法が分かりません。

  誰もレスつけないので・・・
  しかしながら、システムサービスの作り方・構造をもっと勉強して
  からやってもらわないと、どう説明してよいやら・・・

  そういう風に作ってしまっているからそうなっているんですが〜

  因みに、仮に・・・
  サービスA内に、TaskA/TaskB/TaskC/TaskD と配置されていたとし
  て、そのソリューションをコピーし

  サービスAに、TaskA/TaskB
  サービスBに、TaskC/TaskD

  とされたように見受けますが、実行したら、サービスAが2個動作
  していた?と聞き取れるんですが。

  この場合のTaskA等は、親サービス内で動作する子サービスになる
  はずで・・・ソリューションをコピーして動作させたのであれば、
  アセンブリやGUIDは作り変えられたのでしょうか?

  突っ込みどころ満載で、何をどう受け取って、どう言えばよいのか
  ・・・

以上。頑張って下さい!としか・・・
■No23657に返信(オショウさんの記事)
>>そこで実行するとtaskA,taskBをそれぞれ実行すし、サービスで参照するときちんと動いているように見えるのですが、
>>イベントログのアプリケーションログを見るとtaskBは実行されず、taskAが2つ実行されているのですが、回避方法が分かりません。
>
>   誰もレスつけないので・・・
>   しかしながら、システムサービスの作り方・構造をもっと勉強して
>   からやってもらわないと、どう説明してよいやら・・・
>
>   そういう風に作ってしまっているからそうなっているんですが〜
>
>   因みに、仮に・・・
>   サービスA内に、TaskA/TaskB/TaskC/TaskD と配置されていたとし
>   て、そのソリューションをコピーし
>
>   サービスAに、TaskA/TaskB
>   サービスBに、TaskC/TaskD
>
>   とされたように見受けますが、実行したら、サービスAが2個動作
>   していた?と聞き取れるんですが。
>
>   この場合のTaskA等は、親サービス内で動作する子サービスになる
>   はずで・・・ソリューションをコピーして動作させたのであれば、
>   アセンブリやGUIDは作り変えられたのでしょうか?
>
>   突っ込みどころ満載で、何をどう受け取って、どう言えばよいのか
>   ・・・
>
> 以上。頑張って下さい!としか・・・

返信有難う御座います。
1つのプロジェクト内で分けなきゃいけないという制約があったものですから、
参考になりました。
有難う御座います。
プロジェクトを分けて(増やして)出来れば良かったのかも知れませんが、それが出来るかどうか含め検討します。
有難う御座いました。ペコm(_ _;m)三(m;_ _)mペコ
う〜ん・・・

初心者でよく解からないなら、1サービス1機能(Task?)で、きちんと
動作するもの作ってから、多機能版へ改造・・・

と言う道筋をオススメします。

サービス間を通信する手段もありますので、まずは正しく動作するもの
を目指して行なった方が、いきなり難しいものにチャレンジして結果、
動作しないものとなり、結果に到達できない。と言うことで挫折する様
な繰り返しでは、上達しないと思います。

以上。
  • 題名: Re[4]: サービスについて
  • 著者: やっぱ初心者
  • 日時: 2008/12/22 21:18:52
  • ID: 23665
  • この記事の返信元:
  • この記事への返信:
    • (なし)
  • ツリーを表示
オショウさん
有難う御座いました。

1プロジェクト1サービスにする事により解決しました。

1プロジェクトに全部入れ込んでしまったのが間違いだったのですが、
最初そういう方針だったので、軌道修正したので助かりました。
有難う御座いました。ペコm(_ _;m)三(m;_ _)mペコ
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板