第 4 課:加入通知類別
在這一課,您會將通知類別加入至應用程式定義檔案 (ADF) 中,然後更新 Notification Services 的執行個體,將所做的變更套用至應用程式資料庫中。然後,您可以檢閱對應用程式資料庫所做的變更。
通知類別入門
通知類別代表 Notification Services 應用程式產生的一種通知類型。當您定義通知類別時,會定義下列資訊:
- 通知資料的欄位,包括資料類型。這些欄位定義您要傳給訂閱者的資料。
- 關於用來格式化通知類別之通知的內容格式器之資訊。您可以使用內建「可延伸樣式表語言轉換 (XSLT)」內容格式器,或使用自訂內容格式器。
- 關於傳遞通訊協定如何用來傳遞通知的資訊。
您也可以定義選擇性設定,例如摘要或多重傳遞和通知到期時間。如需有關通知類別的詳細資訊,請參閱<定義通知類別>。
當您建立或更新應用程式時,Notification Services 會使用通知類別定義來建立用來儲存和管理通知資料的資料表、檢視、索引和預存程序。
當您建立通知資料表和檢視時,Notification Services 會加入下列欄位:SubscriberId、DeviceName 和 SubscriberLocale。這些欄位是 Notification Services 所需要的,後面的課程會做說明。
WeatherAlerts 通知類別
針對這個應用程式,您要將 WeatherAlerts 通知類別加入至 ADF 中。這個通知類別有 5 個通知欄位、1 個 XSLT 內容格式器和 1 個檔案傳遞通訊協定。
- 通知欄位為:City、Date、Low、High 和 Forecast。在這個應用程式中,通知類別欄位符合事件類別欄位,但不一定要如此。
- 當 Notification Services 散發通知時,它會使用內建 XSLT 內容格式器,將原始資料格式化成為自訂的訊息。XSLT 檔案名稱是 WeatherTransform.xslt,檔案位置由
%_AppPath_%
參數定義;這個參數的值是在 ICF 中提供。
如需有關 XSLT 內容格式器的詳細資訊,請參閱<XSLT 內容格式器>。 - 格式化之後,Notification Services 將使用內建檔案傳遞通訊協定來傳遞通知給檔案。檔案名稱和位置是定義在 ICF 的 DeliveryChannels 元素中。
通訊協定定義可包含訊息標頭的欄位定義,例如 SMTP 所需要的定義,以及通訊協定執行設定,來設定重試、失敗和逾時設定。檔案通訊協定不使用這些設定,但大部份其他通訊協定都使用標頭欄位。附註: 檔案傳遞通訊協定主要是用來建立原型和測試。
將通知類別 XML 加入至 ADF
此章節的 XML 定義通知類別。請檢查 XML,然後遵照指示將 XML 複製到 ADF。
將通知類別 XML 加入至 ADF
按一下 [複製程式碼],將 XML 複製到 Windows 剪貼簿。
<!-- Notification Classes --> <NotificationClasses> <NotificationClass> <NotificationClassName> WeatherAlerts</NotificationClassName> <Schema> <Fields> <Field> <FieldName>City</FieldName> <FieldType>nvarchar(35)</FieldType> </Field> <Field> <FieldName>Date</FieldName> <FieldType>datetime</FieldType> </Field> <Field> <FieldName>Low</FieldName> <FieldType>float</FieldType> </Field> <Field> <FieldName>High</FieldName> <FieldType>float</FieldType> </Field> <Field> <FieldName>Forecast</FieldName> <FieldType>nvarchar(3500)</FieldType> </Field> </Fields> </Schema> <ContentFormatter> <ClassName>XsltFormatter</ClassName> <Arguments> <Argument> <Name>XsltBaseDirectoryPath</Name> <Value>%_AppPath_%</Value> </Argument> <Argument> <Name>XsltFileName</Name> <Value>WeatherTransform.xslt</Value> </Argument> </Arguments> </ContentFormatter> <Protocols> <Protocol> <ProtocolName>File</ProtocolName> </Protocol> </Protocols> </NotificationClass> </NotificationClasses>
在 [方案總管] 中,開啟 [WeatherADF.xml]。
將下列 XML 取代成您剛才複製的 XML。
<!-- Notification Classes -->
<NotificationClasses></NotificationClasses>
在 [檔案] 功能表上,選取 [儲存 WeatherADF.xml]。
更新 Notification Services 的執行個體
在修改 ADF 之後,您要更新 Notification Services 的執行個體,將通知類別物件加入至應用程式資料庫中。
若要更新 Notification Services 的執行個體
在 [物件總管] 中,展開 [Notification Services]。
以滑鼠右鍵按一下 [教學課程],指向 [工作],然後選取 [更新]。
在 [更新執行個體] 對話方塊中,按一下 [瀏覽],尋找 TutorialICF.xml 檔案,然後按一下 [開啟]。
在 [參數] 方格中,檢閱參數的值。請使用您用來建立執行個體的相同值。
按一下 [確定]。
檢閱 [Notification Services - 更新摘要] 對話方塊,然後按一下 [更新]。
當更新動作完成時,請按一下 [關閉]。
檢閱資料庫變更
當您更新執行個體時,Notification Services 會在 TutorialWeather 應用程式資料庫中加入通知類別的資料表、檢視和預存程序。
- dbo.WeatherAlerts 檢視是通知產生規則將插入通知的位置。
- dbo.NSWeatherAlertsFileNotifications 檢視包含 WeatherAlerts 通知類別的通知,它們是使用檔案傳遞通訊協定來傳送。這份檢視僅供內部使用。
- dbo.NSWeatherAlertsNotificationDistribution 檢視結合數個內部 Notification Services 資料表的資料,來提供關於通知散發嘗試的資訊。
- dbo.NSWeatherAlertsNotifications 資料表是包含通知類別之通知資料的基礎資料表。通知資料會留在這個資料表中,直到 Vacuumer 資料移除處理序將它移除為止。這份資料表僅供內部使用。
注意: 請勿在通知資料表和檢視中直接修改資料。
您可以使用 [物件總管] 來檢查 TutorialWeather 資料庫中的這些物件。僅供內部使用的資料表和檢視包含用於內部作業的資料;您不必瞭解這份資料。
您必須重新整理 [物件總管] 才能看到新物件。
下一課
請參閱
概念
其他資源
定義事件類別
建立 Notification 解決方案
SQL Server Notification Services 簡介