- PR -

C#によるWindowsサービスで待ち状態のアプリを実行するには

1
投稿者投稿内容
まつとうや
常連さん
会議室デビュー日: 2004/09/04
投稿数: 42
投稿日時: 2004-09-27 17:49
C#により名前付きパイプの接続待ち状態などにより処理待ち状態になるWindowsサービスを作成する方法はないのでしょうか?
OnStartメソッド中に待ち状態になるメソッドを追加すると
OnStartから抜けられないのでサービスを開始できませんし、
下記のように実行したいロジックそのものを別の実行ファイルにして起動しようとしてもうまくいきません。
System.Diagnostics.Process.Start("別のexe");

Timerを使って定期的にpollingするしかWindowsサービスの常駐アプリを作成(C#による)するしか方法はないのでしょうか。

http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/Vbcon/html/vbwlkwalkthroughcreatingwindowsserviceapplication.asp
nodera
大ベテラン
会議室デビュー日: 2003/09/08
投稿数: 200
投稿日時: 2004-09-27 19:04
こんにちは。

C#でパイプを扱ったことはありませんが、OnStartでスレッドをひとつ生成し、そのスレッドでパイプの接続待ち状態を作ってやればよいのではないでしょうか?
渋木宏明(ひどり)
ぬし
会議室デビュー日: 2004/01/14
投稿数: 1155
お住まい・勤務地: 東京
投稿日時: 2004-09-28 09:43
引用:

Timerを使って定期的にpollingするしかWindowsサービスの常駐アプリを作成(C#による)するしか方法はないのでしょうか。



あるいは、ワーカスレッドを使うとか。

_________________
// 渋木宏明 (Hiroaki SHIBUKI)
// http://hidori.jp/
// Microsoft MVP for Visual C#
//
// @IT会議室 RSS 配信中: http://hidori.jp/rss/atmarkIT/
まつとうや
常連さん
会議室デビュー日: 2004/09/04
投稿数: 42
投稿日時: 2004-09-28 16:03

無事にスレッドでループのプログラムをOnStart内で実現できました。
この他にも実現する方法がございましたらぜひご教示いただければと思います。
アドバイズありがとうございました。
1

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