- - PR -
ASP.NETにて管理ツールのサービスを操作したいのですが
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2004-11-01 20:32
お世話になります。
ASP.NETにてVB.NETを使用して開発をしています。 現在Buttonが押下されたときに、管理ツールのサービスに登録している あるサービスの状態を取得したり、サービスの開始または停止を 行いたいと思っています。(サービスはWindowsサービスで作成したものです。) どのようにしたらいいのか、検討もつかないので よろしければご教授頂けませんでしょうか? 宜しくお願い致します。 |
|
投稿日時: 2004-11-01 21:02
南部です。
System.ServiceProcess.ServiceControllerのリファレンスを 読むと検討がつくと思います。 |
|
投稿日時: 2004-11-02 09:26
南部さん、ご返信ありがとうございます。
早速調べてみたいと思います。 |
|
投稿日時: 2004-11-02 11:29
お世話になります。
教えて頂いたSystem.ServiceProcess.ServiceControllerを使用して コーディングをしてみたのですが、実行すると以下のエラーになります。 「コンピュータで ”サービス名” サービスを開けません。」 単純なことを見落としかもしれませんが、お気づきの点があれば 再びご教授頂きたいと思います。 素人で申し訳ありませんが、よろしくお願い致します。 【コード略】 Public Sub ServiceStart() Dim o_Ctrl As New ServiceController("サービス名") Try If o_Ctrl.Status.Equals(ServiceControllerStatus.Stopped) Then o_Ctrl.Start() ←←←ここでエラーになります。 End If Catch ex As Exception Throw ex End Try End Sub 以上です。 |
|
投稿日時: 2004-11-02 13:36
南部です。
権限不足だと思います。 OSがなにかはわかりませんが、どちらにしろ既定では サービスを操作する権限はないはずです。 MSDNや他の書籍を参考に、適切な実装をして下さい。 とりあえず、提示されたコードの動作を確認するのであれば、 Web.configの <system.web>の子要素に <identity impersonate="true" userName="管理者ログインID" password="パスワード" /> を記述すれば、確認できます。 もしくは、 ご使用の仮想ディレクトリのディレクトリセキュリティで、認証方法を 統合Windows認証(匿名アクセスなし)にし、 <identity impersonate="true"> とすれば、ログインしたアカウント実行されます。 |
|
投稿日時: 2004-11-03 12:01
いつもありがとうございます。
南部さんの指摘された通りに、 Web.configの <system.web>の子要素を記述することで、 動作の方はうまくいく事が確認できました。 実環境でうまく実装するために、権限については勉強したいと思います。 |
1