私が尋ねている理由は、アウト プロセス モードを使用したいのですが、各ユーザーのワークステーションにサービスをインストールできず、中央サーバーにしかインストールできないからです。イベント ソースとリスナー サービス間の通信は ETW のものですか、それとも使用できる RPC のようなものはありますか?
2 に答える
Lars の回答に追加するには、SQL にログを記録することもできます。使用できる SQL シンクがありますが、他のすべてと同様に、最もカスタマイズされたフィットを得るには、独自に構築します (または別のクラスから継承して、適切な出発点を提供します)。ただし、注意してください。すべてのシンクが同じように作成されるわけではありません。それらにはすべて長所と短所があります。たとえば、SQL と Azure のシンクでは、高い待機時間について心配する必要があります。XML フォーマッタは、ルートの開始ノードと終了ノードを書き込まないため、整形式の xml ではありません。そのファイルを読み取るものは何でも、それらを提供する必要があります。幸運を!
はい、アウト プロセス モードは ETW を使用して機能します。すべての ETW イベントはシステム全体であるため、サービスは ETW イベントをリッスンするだけで済みます。
ETW はローカルでのみ機能し、使用できるリモート ソリューションは提供しません。オプションは、各ワークステーションにサービスをインストールし、ETW イベント (ここまたはここ) をリッスンし、自分で構築した RPC ソリューションを使用してサーバーに転送することです。MSMQの使用が頭に浮かびます。または、アプリケーションでイベントをサーバーに直接転送して、サービスが不要になるようにします。いずれにせよ、自分で構築する必要があります。