開發自訂的內容格式器
Notification Services 提供一個以可延伸樣式表轉換語言 (XSLT) 為基礎的內建內容格式器來協助您快速開發應用程式。不過,如果您要利用其他技術來格式化您的通知資料,您必須開發自訂內容格式器。
IContentFormatter 介面
內容格式器是以原始形式的通知資料為輸入,再傳回已格式化的通知訊息之元件。內容格式器是 Notification Services 引擎所主控的散發者所載入。散發者會透過稱為 IContentFormatter 的介面來與內容格式器互動。
若要開發自訂內容格式器,您必須開發實作 IContentFormatter 介面的類別。在 Microsoft.SqlServer.NotificationServices 命名空間中,可以使用這個介面。
散發者會針對每個必須格式化的訊息來呼叫內容格式器。這個訊息可能是通知、通知摘要,或多重播送訊息的通知資料。
散發者會先呼叫 Initialize,再針對每個要格式化的訊息來呼叫 FormatContent,當工作項目完成時,會呼叫 Close 方法。除非先呼叫了 Initialize 方法,否則,不會重新呼叫 Initialize方法。
如果格式化失敗,FormatContent 方法可以擲出例外狀況。散發者會將例外狀況記錄到應用程式記錄檔中,且會將通知標示為失敗。失敗的通知不會傳給傳遞通訊協定。如果設定通知類別來重試通知,就會收取通知,以便在下一個重試間隔進行格式化。
Initialize 和 Close 方法永遠不應擲出例外狀況。
您必須將您的自訂內容格式器當作 Managed 程式碼組件中的一個類別來實作。這個組件可以在通知應用程式所能存取的任何位置。
格式化通知
當散發者呼叫 Initialize 方法來初始化內容格式器時,它會傳遞任何宣告的引數以及摘要傳遞設定。內容格式器實作應該利用這些值來設定它自己以及儲存它將使用的任何設定。當散發者叫用內容格式器來格式化通知訊息時,它會呼叫 FormatContent 方法,且會將包含通知資料的雜湊表陣列傳給內容格式器。通知資料包括訂閱者地區設定和裝置類型。
內容格式器的實作有可能需要處理摘要通知、多重裝置和多重地區設定的格式化,這會隨著應用程式而不同。
使用自訂內容格式器
若要使用自訂內容格式器,您必須在應用程式定義中宣告它。當您宣告內容格式器時,請提供類別名稱、組件名稱,以及初始化內容格式器時所需要之任何引數的名稱和值。如需詳細資訊,請參閱<設定內容格式器>。
重要事項: |
---|
您的自訂內容格式器會以 Notification Services 引擎所執行之散發者的相同權限來執行。執行 Notification Services 引擎的帳戶必須有存取組件的權限。 |
請參閱
概念
其他資源
XSLT 內容格式器
開發自訂的 Notification Services 元件