配信プロトコルの名前とフィールドの指定
通知クラスごとに、通知の配信用に 1 つ以上の配信プロトコルが使用できます。アプリケーション定義で、通知クラスがサポートする各配信プロトコルを構成する必要があります。Notification Services は、この情報を使用してどの配信プロトコルが一連の通知に有効であるかを判断します。このトピックでは、配信プロトコルを定義する方法について説明します。
配信プロトコルの定義
配信プロトコルを定義するときは、プロトコル名を指定する必要があります。配信プロトコルに追加情報が必要な場合は、この情報を提供するフィールドも定義します。
さらに、Notification Services では配信プロトコルに対して複数の実行設定を行うことができ、配信の再試行、失敗、およびタイムアウトの処理を構成できます。詳細については、「配信プロトコルの実行設定の指定」を参照してください。
配信プロトコルを定義するには
- XML でアプリケーションを定義している場合は、Protocol 要素 (ADF) で各配信プロトコルを定義します。
- プログラムでアプリケーションを定義している場合は、NotificationClassProtocol オブジェクトで各配信プロトコルを定義し、NotificationClassProtocols プロパティを使用して NotificationClass オブジェクトの NotificationClassProtocolCollection オブジェクトに追加します。
配信プロトコル名
各配信プロトコルには、定義済みの名前があります。標準配信プロトコルの名前は、SMTP と File です。カスタム配信プロトコルの名前については、インスタンス構成に記述されます。通知クラスで指定する名前は、配信プロトコルに付けられた名前と一致する必要があります。
プロトコル名を定義するには
- XML でアプリケーションを定義している場合は、ProtocolName 要素 (ADF) でプロトコル名を定義します。
- プログラムでアプリケーションを定義している場合は、NotificationClassProtocol オブジェクト (NMO) の Name プロパティを使用します。
プロトコルのフィールド
一部の配信プロトコルでは、構成データが必要です。たとえば、SMTP を使用して送信されるメッセージでは、件名、差出人、および宛先のデータを提供する必要があります。通知クラスに対して配信プロトコルを定義するときは、フィールド名と構成データの値を定義します。
- 構成フィールドの名前が、そのままフィールド名になります。たとえば、プロトコルで件名の値が必要な場合、フィールド名は Subject です。
- フィールドの値は、必要な値を含む通知フィールドの名前、または値を計算する Transact-SQL 式です。SELECT ステートメントの一部として評価される任意の Transact-SQL 式を使用できます。すべての Transact-SQL 文字列と同じように、単一引用符で文字列を囲みます。文字列が Unicode である場合は、N'myString' のように、最初の引用符の前に N を 1 つ追加します。
たとえば、Subject、From、To の各フィールドを指定する必要がある場合、配信プロトコルに対して次のフィールドを定義できます。
フィールド名 | Transact-SQL 式 | 通知フィールド |
---|---|---|
Subject |
|
Headline |
From |
'someone@example.com' |
|
To |
DeviceAddress |
|
Subject は、Headline という名前の通知フィールドの値です。From 値は、一重引用符で囲まれた文字列定数である Transact-SQL 式です。To 値は、サブスクライバの電子メール アドレスを含む組み込みフィールドへの参照です。
メモ : |
---|
アプリケーションを XML ファイルで定義している場合は、"<" などの予約 XML 文字をエンティティ参照に置き換える必要があります。詳細については、「XML の予約文字」を参照してください。 |
ディストリビュータが配信プロトコルに通知データを渡すとき、定義されたすべてのプロトコル フィールドの値が含まれています。
プロトコル フィールドを定義するには
- XML でアプリケーションを定義している場合は、Protocol/Fields の Field 要素 (ADF) で各プロトコル ヘッダー フィールドを定義します。
- プログラムでアプリケーションを定義している場合は、ProtocolField オブジェクトで各ヘッダー フィールドを定義し、ProtocolFields プロパティを使用して NotificationClassProtocol オブジェクトの ProtocolFieldCollection オブジェクトに追加します。
参照
概念
その他の技術情報
配信プロトコルの構成
通知クラスの定義
Notification Services アプリケーションの定義