私は通常のWindowsアプリケーション(ほとんどの場合C#)しか作成していません。 Windowsサービスと通常のWindowsアプリケーションとの違いは何ですか?何が違うの?アプリケーションができないサービスは何ができますか?開発者の視点から見た違いは何ですか?どのように作成するのですか?定期的なアプリケーション(GUIアプリケーションがないのでコンソールアプリケーションかもしれません)を作成し、それを特別な方法で実行またはインストールするか、それ以上行う必要がありますか?Windowsサービスと通常のアプリケーションの違いは何ですか?
答えて
すぐに私に飛び出すいくつかのことがあります。
- 彼らが別のコンソールで実行した結果としてVistaの
- で始まる全く異なるコンソールで実行して、サービスがデスクトップと対話することはできません。したがって、本質的にUIの直接サポートはありません。通常は、通常のプログラムとして実行され、サービスと通信するためのメカニズム(名前付きパイプなど)を使用する兄弟UIアプリケーションを作成する必要があります。
- 通常、いつでも1つのサービスインスタンスしか実行できません。
- プロセスはユーザーごとです。サービスはワークステーションごとであり、しばしば複数のユーザーにサービスを提供します。
主な違いは、Windowsサービスはバックグラウンドサービスとして実行したいものであり、UIは必要ないということです。たとえば、ドライブ上のファイルを検索するためのインデックスを作成するサービスです。 。|。管理ツール|
もう一つの利点は、あなたが
ユーザーがログインを使用すると、サービスが開始されたときに呼び出されているオーバーライドできる方法もあります時にサービスが自動的に起動することができている/(つまり、コントロールパネルから停止サービス)。
Visual Studioには、作成に使用できる特別なプロジェクトタイプがあります。例は下記のサイトをご覧ください:http://www.dotheweb.net/articles/dotnet/services.aspx
This MSDN pageは、スティックを振るよりも多くのドキュメントを作成します。 This pageはおそらく一般的にそれらのより良い紹介です。
アプリケーションとして実行するプロセスとサービスとして実行するプロセスの主な違いは、サービスがユーザーとセッションとの通常の関連付け外で完全に動作できることです。したがって、サービスは、ユーザーがログインする前に開始され、ユーザーがログオフした後も継続して実行できるように実行できます。したがって、サービスは、オペレーティングシステムの実際の機能の大部分を実装するために使用されます。
サービスはプロセスと1:1マッピングとして実行されているわけでもありません。多くのサービスは、通常はsvchostを使用して1つのプロセス内に存在することができます(プロセスエクスプローラでこれらを見て、これがしばしばどのように機能するかを示します)。これにより、比較的軽量なサービスには複数のプロセスが必要ないため、起動時の労力が軽減されます。
C#でサービスを実装することは非常に簡単です。このpageは、どのように非常に使いやすいかを示しています。
実際には、Windowsのサービスは、HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Services(これらの 'イメージパス')(ほとんどの場合、単純に実行可能ファイルと使用するパラメータ)を定義するレジストリ内の足場です。どのサービスをどのサービスとみなしているか、どのサービスをどのサービスに依存しているか、どのサービスが依存しているか、起動時/起動時、または必要に応じて起動するかどうかなどです。
あなたがUnixをよく知っているなら、WindowsサービスはUnixデーモンに似ています。特定のユーザーに関連付けられておらず、常にバックグラウンドで実行されています。
- 1. 通常のWebサービスとSoapベースのWebサービスの違いは何ですか?
- 2. WebサービスとWindowsサービスの違いは何ですか?
- 3. データフォームwebpartと通常のリストwebpartの違いは何ですか?
- 4. CILの通常オペコードとショートフォームオペコードの違いは何ですか?
- 5. cl_datatypeと通常のデータ型の違いは何ですか?
- 6. 通常と適応ローパスフィルタの違いは何ですか?
- 7. ソースフォルダと(通常)フォルダの違いは何ですか
- 8. スレッドエントリ関数と通常関数の違いは何ですか?
- 9. "Windows Phoneアプリケーション"と "Silverlight for Windows Phoneアプリケーション"の違いは何ですか?
- 10. 通常の変数とRubyのインスタンス変数との違いは何ですか?
- 11. プロトタイプ関数とjavascriptの通常の関数との違いは何ですか?
- 12. XMLHttpRequestと通常のHTTPリクエストのパケットレベルの違いは何ですか?
- 13. CLI-Loopとは何ですか?通常のループとの違いは何ですか?
- 14. 埋め込みWebフォントと通常のTrueTypeデスクトップフォントの違いは何ですか?
- 15. objective-cの無名カテゴリと通常カテゴリの違いは何ですか?
- 16. 通常の関数呼び出しとpcallの違いは何ですか
- 17. PHP5.3で参照関数と通常関数の違いは何ですか?
- 18. Windowsサービスでは、停止と一時停止の違いは何ですか?
- 19. 静的構造と通常構造の違いは何ですか?
- 20. インラインメンバー関数と通常メンバー関数の違いは何ですか?
- 21. オンネット通話とオフネット通話の違いは何ですか?
- 22. 通常のWCFサービスよりもRESTful WCFサービスの利点は何ですか
- 23. Windows AzureとWindows IISの正確な違いは何ですか?
- 24. .NET Windowsサービスのローカルアプリケーションデータは、通常のコンソールアプリケーションで
- 25. Visual StudioでWin32 ProjectとWindows Formsアプリケーションの違いは何ですか?
- 26. リバースajaxと通常のajaxの違い
- 27. object_idと通常のIDの違い
- 28. WindowsとLinuxのdnxcore50との違いは何ですか?
- 29. 静的インタフェースとJavaのようなキーワードのない通常のインタフェースとの違いは何ですか?
- 30. WPFアプリケーションとwinformsアプリケーションの違いは何ですか?
私はむしろ、マシン上でインタラクティブなセッションをせずにサービスを稼働させることができます。ユーザーがさまざまな方法でログオンすると、ロットまたはプログラムを開始できます。サービスを利用することは実際には利点ではありません。 – Joey