Freigeben über


Auffüllen einer Übermittlungskanalliste

Wenn Ihre Anwendung mehrere Übermittlungskanäle unterstützt, z. B. einen E-Mail-basierten Übermittlungskanal und einen Windows Messenger-Übermittlungskanal, können Sie eine Liste der Übermittlungskanäle bereitstellen, sodass Abonnenten Abonnentengeräte erstellen und diese Abonnentengeräte dann für einzelne Abonnements auswählen können.

In SQL Server 2005 werden Klassen zum Aufzählen von Instanz- und Anwendungseigenschaften von Notification Services Object Model (NMO) bereitgestellt. Verwenden Sie zum Aufzählen von Übermittlungskanälen die DeliveryChannels-Eigenschaft der Instanz. Auf diese Weise können Sie die Auflistung der für die Notification Services-Instanz definierten Übermittlungskanäle abrufen. Die NMO-Klassen befinden sich im Microsoft.SqlServer.Management.Nmo-Namespace, der sich in der Microsoft.SqlServer.Smo-Assembly befindet.

Nicht alle Übermittlungskanäle, die in einer Notification Services-Instanz angeboten werden, müssen für alle Anwendungen geeignet sein. Stellen Sie sicher, dass in der Benutzeroberfläche nur die Übermittlungskanäle angeboten werden, die für die Anwendung zulässig sind.

Beispiel für verwalteten Code

Im folgenden Codebeispiel wird gezeigt, wie die DeliveryChannels-Eigenschaft der Instanz verwendet wird, um die Auflistung der für die Notification Services-Instanz definierten Übermittlungskanäle abzurufen:

ms166392.note(de-de,SQL.90).gifHinweis:
Im folgenden Beispiel ist ein Verweis auf die Microsoft.SqlServer.Management.Smo-Assembly erforderlich. Die Namespaces Microsoft.SqlServer.Management.Nmo und Microsoft.SqlServer.Management.Smo befinden sich in der SMO-Assembly. In diesem Beispiel werden die Aliasnamen der Namespaces nmo und smo verwendet, um die Namespaces der Klassen zu bestimmen.

Verwenden Sie die folgenden using-Direktiven, wenn Sie dieses Beispiel ausführen:

using System;
using Microsoft.SqlServer.NotificationServices;
using nmo = Microsoft.SqlServer.Management.Nmo;
using smo = Microsoft.SqlServer.Management.Smo;

Verwenden Sie anschließend den folgenden Code zum Aufzählen der Übermittlungskanäle:

// 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-Interop-Beispiel

NMO unterstützt COM-Interop nicht. Wenn Sie COM-Interop zum Aufzählen von Übermittlungskanälen verwenden müssen, müssen Sie die veraltete DeliveryChannel- und DeliveryChannelEnumeration-Klasse aus dem Microsoft.SqlServer.NotificationServices-Namespace verwenden, um die Auflistung der für die Notification Services-Instanz definierten Übermittlungskanäle abzurufen:

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!"

Siehe auch

Konzepte

Erstellen eines SubscriberDevice-Objekts
Hinzufügen eines Abonnentengeräts
Aktualisieren eines Abonnentengeräts
Löschen eines Abonnentengeräts

Andere Ressourcen

NSSubscriberDeviceView

Hilfe und Informationen

Informationsquellen für SQL Server 2005