Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Если приложение поддерживает несколько каналов доставки, например, канал доставки, основанный на электронной почте, и канал доставки, основанный на приложении Windows Messenger, то можно создать список каналов доставки, чтобы подписчики могли создавать устройства подписчика, а затем выбирать эти устройства для отдельных подписок.
В SQL Server 2005 объектная модель служб Notification Services (NMO) предоставляет классы для перечисления свойств экземпляра и приложений. Для перечисления каналов доставки используйте свойство DeliveryChannels экземпляра для получения коллекции каналов доставки, определенных для экземпляра служб Notification Services. Классы NMO находятся в пространстве имен Microsoft.SqlServer.Management.Nmo, расположенных в сборке Microsoft.SqlServer.Smo.
Возможно, что не все каналы доставки, предлагаемые в экземпляре служб Notification Services, подходят для всех пользовательских приложений. Убедитесь в том, что пользовательский интерфейс предлагает только те каналы доставки, которые допустимы для приложения.
Пример управляемого кода
В приведенном ниже примере кода показано использование свойства DeliveryChannels экземпляра для получения коллекции каналов доставки, определенных для экземпляра служб Notification Services:
Примечание. |
|---|
Для приведенного ниже примера необходима ссылка на сборку Microsoft.SqlServer.Management.Smo. Пространства имен Microsoft.SqlServer.Management.Nmo и Microsoft.SqlServer.Management.Smo находятся в сборке SMO. Для назначения пространств имен классов в данном примере используются псевдонимы пространств имен nmo и smo. |
Используйте следующие директивы using при запуске этого примера:
using System;
using Microsoft.SqlServer.NotificationServices;
using nmo = Microsoft.SqlServer.Management.Nmo;
using smo = Microsoft.SqlServer.Management.Smo;
Затем используйте следующий код для перечисления каналов доставки:
// Specify the Database Engine instance that hosts the
// Notificaiton Services instance and get a reference to
// the NotificationServices object.
smo.Server server = new smo.Server("MyServer");
nmo.NotificationServices notificationServices = server.NotificationServices;
// Get the Notification Services instance.
nmo.Instance nsinst = notificationServices.Instances ["Tutorial"];
// Get the instance's collection of delivery channels.
nmo.DeliveryChannelCollection dcCollection = nsinst.DeliveryChannels;
// Enumerate the delivery channels.
foreach (nmo.DeliveryChannel dc in dcCollection)
{
Console.WriteLine(dc.Name);
}
Пример взаимодействия COM
NMO не поддерживает взаимодействие COM. При необходимости использования взаимодействия COM для перечисления каналов доставки необходимо использовать устаревшие классы DeliveryChannel и DeliveryChannelEnumeration из пространства имен Microsoft.SqlServer.NotificationServices для получения коллекции каналов доставки, определенных для экземпляра служб Notification Services:
Dim testInstance, testDeliveryChannelEnumeration
const instanceName = "Tutorial"
' Create the NSInstance object.
set testInstance = WScript.CreateObject( _
"Microsoft.SqlServer.NotificationServices.NSInstance")
testInstance.Initialize instanceName
' Create the DeliveryChannelEnumeration object.
set testDeliveryChannelEnumeration = WScript.CreateObject( _
"Microsoft.SqlServer.NotificationServices.DeliveryChannelEnumeration")
testDeliveryChannelEnumeration.Initialize (testInstance)
' Step through the enumeration, printing the
' delivery channel names.
for each channel in testDeliveryChannelEnumeration
Wscript.Echo "Delivery Channel: ", _
channel.DeliveryChannelName
next
wscript.echo "Done!"
См. также
Основные понятия
Создание объекта SubscriberDevice
Добавление устройства подписчика
Обновление устройства подписчика
Удаление устройства подписчика
Примечание.