ホストされるイベント プロバイダの定義
ホストされるイベント プロバイダは、Notification Services エンジンによってホストされます。エンジンが開始されると、ホストされるすべての有効なイベント プロバイダが初期化され、実行されます。
アプリケーション定義で指定する情報は、ホストされるイベント プロバイダを検索し、初期化し、実行するために必要な情報をエンジンに提供します。
ホストされるイベント プロバイダの種類
ホストされるイベント プロバイダには、連続するイベント プロバイダと定期的なイベント プロバイダの 2 種類があります。
- 連続するイベント プロバイダは、エンジンの開始時に開始され、エンジンが停止すると停止します。イベントをいつどのように送信するかは、イベント プロバイダ自身によって管理されます。
連続するイベント プロバイダを独自に開発する場合は、IEventProvider インターフェイスを実装する必要があります。 - 定期的なイベント プロバイダは、エンジンの開始時に開始され、あらかじめ定義された間隔でトリガされて新しいイベントを確認します。
このスケジュールはアプリケーション定義で指定します。
定期的なイベント プロバイダを独自に開発する場合は、IScheduledEventProvider インターフェイスを実装する必要があります。
ホストされるイベント プロバイダの定義
ホストされるイベント プロバイダは、アプリケーションごとに定義できます。アプリケーションを定義するときに、アプリケーションで使用する各イベント プロバイダを定義します。その際には、イベント プロバイダ名、イベント プロバイダを実装するクラス、クラスを含むアセンブリなどのプロパティや、イベント プロバイダを初期化するために必要な引数を定義する必要があります。
ホストされるイベント プロバイダを定義するには
XML でアプリケーションを定義している場合は、アプリケーション定義ファイル (ADF) の Providers 要素で、ホストされるイベント プロバイダを定義します。Notification Services 管理オブジェクト (NMO) を使用してアプリケーションを定義している場合は、HostedEventProvider オブジェクトを個別に定義し、アプリケーションの HostedEventProviders プロパティを使用して HostedEventProviderCollection に追加します。
- HostedProvider 要素 (ADF)
- HostedEventProvider (NMO)
イベント プロバイダ名
イベント プロバイダ名は、各イベント バッチを送信したイベント プロバイダを識別します。アプリケーションのデバッグ、トラブルシューティング、および監視のときには、よくパラメータとしてイベント プロバイダ名を指定することがあります。
イベント プロバイダ名を定義するには
- HostedProvider/Arguments/Argument の Name 要素 (ADF)
- HostedEventProvider (NMO) オブジェクトの Name プロパティ
クラス名
ホストされる各イベント プロバイダについて、イベント プロバイダを実装するクラスの名前を指定する必要があります。
- ホストされるカスタム イベント プロバイダの場合、クラス名は Microsoft .NET Framework の名前付け規則 (Namespace.ClassName) に準拠する必要があります。名前空間の名前付け規則の詳細については、Microsoft MSDN ライブラリの「名前空間の名前付けのガイドライン」を参照してください。
- 標準の Notification Services イベント プロバイダの場合は、クラス名に名前空間は含まれません。イベント プロバイダのマニュアルに記載されているクラス名を使用してください。詳細については、「標準イベント プロバイダ」を参照してください。
クラス名を定義するには
アセンブリ名
カスタム イベント プロバイダを定義している場合は、ホストされるイベント プロバイダのクラスを含むアセンブリの名前を指定します。名前には、完全修飾パスかアセンブリの完全修飾名を含める必要があります。
標準のイベント プロバイダを定義している場合は、アセンブリ名を定義しないでください。標準のイベント プロバイダを定義するクラスは、コア Notification Services アセンブリに含まれています。
アセンブリ名を定義するには
システム名
システム名プロパティでは、ホストされるイベント プロバイダを実行するシステムの名前を指定します。この値は、通常はコンピュータ名です。ただし、フェールオーバー クラスタでイベント プロバイダを実行する場合は、仮想サーバー名になります。
コンピュータに、Notification Services クライアント コンポーネントがインストールされ、インスタンスが登録されている必要があります。
アプリケーションのスケールアウトの詳細については、「スケールアウト構成」を参照してください。
システム名を定義するには
スケジュール
連続するイベント プロバイダ (すべての標準イベント プロバイダと、IEventProvider インターフェイスを実装するカスタム イベント プロバイダ) を定義している場合は、スケジュールを定義しないでください。
IScheduledEventProvider インターフェイスを実装する定期的なイベント プロバイダを定義している場合は、イベント プロバイダのスケジュールを定義する必要があります。
スケジュールには次のプロパティがあります。
- 開始時刻のプロパティ。UTC 時刻 (24 時間単位) を指定します。Notification Services はこの値を使用して、定期的なイベント プロバイダを呼び出す時刻を計算します。たとえば開始時刻が 10:00 で、間隔が 3 時間の場合、定期的なイベント プロバイダは、10:00、13:00、16:00 といった時間に呼び出されます。アプリケーションが 12:32 に開始される場合は、イベント プロバイダが最初に実行されるのは 13:00 です。その他の例については、「HostedProvider/Schedule の StartTime 要素 (ADF)」を参照してください。
- 間隔のプロパティ。定期的なイベント プロバイダが実行される頻度を指定します。
定期的なイベント プロバイダのスケジュールを定義するには
- HostedProvider の Schedule 要素 (ADF)
- StartTime (NMO)
- Interval (NMO)
タイムアウト
ホストされる各イベント プロバイダは、あらかじめ決められた時間内に処理を完了する必要があります。ホストされるイベント プロバイダの処理がその時間内に完了しない場合、現在の処理間隔はキャンセルされます。
ホストされるイベント プロバイダの既定のタイムアウト値は 5 分です。別のタイムアウト値を構成することもできます。
ホストされるイベント プロバイダのタイムアウト値を定義するには
ProviderTimeout 要素 (ADF) (ADF)
Timeout プロパティ (NMO)
引数
Notification Services では、イベント プロバイダに引数を渡すことができます。ホストされるイベント プロバイダで引数を使用する場合は、イベント プロバイダの定義で引数の名前と値を指定します。
サード パーティによって開発されたイベント プロバイダの場合、必須の引数と省略可能な引数が、付属のマニュアルに記載されています。標準のイベント プロバイダの引数については、「標準イベント プロバイダ」を参照してください。
イベント プロバイダの引数を定義するには
参照
概念
その他の技術情報
Notification Services アプリケーションの定義
カスタム イベント プロバイダの開発
イベント プロバイダの定義
イベント クラスの定義
標準イベント プロバイダ