指定傳遞通訊協定名稱與欄位
每個通知類別都可以利用一或多個傳遞通訊協定來進行通知傳遞。在應用程式定義中,您必須設定通知類別支援的每一個傳遞通訊協定。Notification Services 利用這項資訊來判斷哪些傳遞通訊協定適用於通知集。本主題解釋如何定義傳遞通訊協定。
定義傳遞通訊協定
當您定義傳遞通訊協定時,您必須提供通訊協定名稱。如果傳遞通訊協定需要其他資訊,您還必須定義欄位來提供這項資訊。
此外,Notification Services 也支援傳遞通訊協定的數個執行設定,這些設定可讓您設定傳遞重試、失敗及逾時處理。如需詳細資訊,請參閱<指定傳遞通訊協定執行設定>。
若要定義傳遞通訊協定
- 如果您透過 XML 定義應用程式,請在 Protocol Element (ADF) 中定義個別傳遞通訊協定。
- 如果您以程式設計的方式定義應用程式,請在 NotificationClassProtocol 物件中定義個別傳遞通訊協定,然後利用 NotificationClassProtocols 屬性,將它們新增至 NotificationClass 物件中的 NotificationClassProtocolCollection 物件。
傳遞通訊協定名稱
每個傳遞通訊協定都有預先定義的名稱。標準傳遞通訊協定的名稱是 SMTP 和 File。自訂傳遞通訊協定的名稱記載在執行個體組態中。您在通知類別中提供的名稱必須符合提供給傳遞通訊協定的名稱。
若要定義通訊協定名稱
- 如果您透過 XML 定義應用程式,請在 ProtocolName Element (ADF) 中定義通訊協定名稱。
- 如果您要以程式設計的方式定義應用程式,請使用 NotificationClassProtocol 物件 (NMO) 中的 Name 屬性。
通訊協定欄位
某些傳遞通訊協定需要組態資料。例如,利用 SMTP 傳送的訊息必須提供「主旨」、「寄件者」及「收件者」資料。定義通知類別的傳遞通訊協定時,必須定義組態資料的欄位名稱和值。
- 欄位名稱就是組態欄位的名稱。例如,如果通訊協定需要「主旨」值,欄位名稱就是 [主旨]。
- 欄位值是指包含必要值的通知欄位名稱,或指計算值的 Transact-SQL 運算式。您可以將任何可評估的 Transact-SQL 運算式當作 SELECT 陳述式的一部份。所有 Transact-SQL 字串都必須以單引號括住。如果字串是 Unicode,請在第一個引號前面加上 N,例如:N'myString'。
例如,如果您需要提供主旨、寄件者及收件者欄位,您可以定義下列傳遞通訊協定欄位:
欄位名稱 | Transact-SQL 運算式 | 通知欄位 |
---|---|---|
主旨 |
|
標題 |
寄件者 |
'someone@example.com' |
|
收件者 |
裝置位址 |
|
主旨是命名為標題之通知欄位的值。寄件者值是 Transact-SQL 運算式,它是一個以單引號括住的字串常數。收件者值是內建欄位參考,該內建欄位包含訂閱者的電子郵件地址。
附註: |
---|
如果您在 XML 檔中定義應用程式,您必須將保留的 XML 字元 (如 '<') 取代成它們的實體參考。如需詳細資訊,請參閱<XML Reserved Characters>。 |
當散發者將通知資料傳遞至傳遞通訊協定,它會包含所有已定義通訊協定欄位的值。
若要定義通訊協定欄位
- 如果您透過 XML 定義應用程式,請在 Field Element for Protocol/Fields (ADF) 中定義個別通訊協定標頭欄位。
- 如果您以程式設計的方式定義應用程式,請在 ProtocolField 物件中定義個別標頭欄位,然後利用 ProtocolFields 屬性,將它們加入 NotificationClassProtocol 物件中的 ProtocolFieldCollection 物件。
請參閱
概念
其他資源
設定傳遞通訊協定
定義通知類別
定義 Notification Services 應用程式