Windowsサービスの小品

私たちは長い間WindowsサービスによってWindowsセッション上で動作するアプリケーションを作成することができます。サービスをフォローすると、コンピュータを起動することができ、あなたは、停止と再起動を一時停止することができます。WindowsサービスとWindowsフォームプログラムは、最大の違いは、ユーザー・インターフェースなしでそのWindowsサービスです。Windowsサービスは、一般的なバルクメッセージング、スケジュールされたタスク、プロセス監視などとしてバックグラウンド処理データのために使用されています。そしてまた、ログインアカウントなど、さまざまな操作のためのさまざまなサービスを実行することができます。特にWindowsプログラマのためのC#の開発サービスの利用を.NET Frameworkのより便利なWindowsの開発プラットフォームを作成するためのサービスは、単純なフライを言いません。Windowsサービスの開発は単純だが、あまりにも多くの注意点ですが、開発中の開発者を言ういくつかのことを無視する傾向があり、その後、この記事では、読者がどのようなWindowsサービス詳細に説明かかります。

サービスモジュール、サービス制御モジュールおよびサービスモジュール構成:Windowsサービスのアーキテクチャは、3つのモジュールから構成されています。私たちはどのようなこれらの三つのモジュールを詳細に説明しましょう。

  1. サービスモジュール
    エントリ機能、サービス機能と手順:Windowsのサービスのコアモジュールは、主に3つの部分から構成されています。彼らSCM(サービスコントローラ)制御により、SCMは、Windowsのコアサービスの中核とも言えます。これは、オペレーティングシステムの不可欠な部分であり、通信のためのWindowsサービス、WindowsのSCMはサービスプロセス制御、ストップとの対話を開始するオペレーティングシステムに依存します。
  • エントリエントリ機能、サービス機能を複数登録することができる手順;
  • サービスの実際の機能が含まれているサービス機能、。SCMは、各サービスコールのサービス機能を開始する必要があることです。
  • SCMからのイベントに応答するハンドラは、応答イベントは、次のとおりそうで停止、一時停止、再起動しています。

  1. サービス制御モジュールは、
    制御要求(例:スタート、ストップ、一時停止や再起動)する責任があるサービスに送信されます。SCM制御モジュールは、サービスとサービス自体とは無関係です。その主な役割は2つあり:
  • そして、プログラムコードに応じてカスタムコントロールのプロセスを実装状況やサービスを問い合わせます。
  • 応答を送信すべきイベントハンドラにサービス制御コードに送信します。
  1. サービス設定モジュールは、
    それがファイルシステムにコピーし、サービスをインストールするための責任、および情報は、レジストリサービスに書き込まれます。レジストリ内の情報は、主にSCMのために使用される場合に開始し、サービスを開始します。それは注意する必要があります。
  • サービスには、レジストリは、サービスのスタートアップの種類が含まれているため、サービスがレジストリに起動しませんそれ以外の場合は設定する必要があります。
  • 当社は、ユーザーのサービスの依存関係を設定する必要があります。作業は、サービス構成プログラムで行われます。

.NET、およびサービス関連するクラスは、名前空間System.ServiceProcessに位置しています。ServiceBase、ServiceControllerの、ServiceProcessInstallerとのServiceInstaller:それは、次の4つのカテゴリで構成されています。ServiceBaseサービスクラスは関数の数をオーバーロードすることができる定義する基本クラスであり、サービスコントロールマネージャによってこれらの機能をオーバーライドするWindowsサービスプログラムを制御することができます。OnStartメソッド()、OnStop():これは、以下を含むオーバーロード機能を使用することができる 、OnPause() とOnContinueを()。それは特別な使用に関連する場合、完全にOnCustomCommand()関数をオーバーライドすることができます。ServiceBaseクラスはまた、財産の多くを提供してくれ、共通の属性が含まれます:ServiceNameプロパティ(Windowsサービス名を指定する)、CanPauseAndContinueプロパティ(一時停止と再開のサービスを許可するかどうか)と(サービスのうち許可するかどうか)CanStopプロパティを。我々はサービスに接続できるように、ServiceControllerのは、実行中または停止しています。これを通して、あなたは、サービスのステータスを変更し、サービスに関する情報を得ることができます。サービスコントローラーは、クラスのインスタンスを作成するとき、私たちは、Windowsサービスがインストールさと対話するプロパティを設定します。ServiceControllerのは、主にSCMツールを管理するために使用されます。主にインストール構成とその関連サービスの特定の操作を実行するためのサービスServiceProcessInstallerとのServiceInstaller。インストールツールは、レジストリキーおよびサービスに関連するレジストリ値を書き込むために使用されます。
ツールは、サービスに関連したレジストリキーおよびレジストリ値を書き込むために使用します。

204元記事公開 ウォンの賞賛101 ビューに35万+を

おすすめ

転載: blog.csdn.net/gangzhucoll/article/details/103547745