COM-Interop mit Notification Services
Alle Notification Services-APIs werden in verwaltetem Code entwickelt. Viele Notification Services-Klassen wurden jedoch so entwickelt, dass sie auch von nicht verwaltetem Code und durch COM-Interop verwendet werden können. Wenn Sie Notification Services in eine vorhandene, nicht verwaltete Anwendung integrieren möchten, müssen Sie für Ihre Abonnementverwaltungsschnittstelle wahrscheinlich weiterhin nicht verwalteten Code verwenden. Zu diesem Zweck wird die COM-Interop-Lösung bereitgestellt.
Namespaces, von denen COM-Interop nicht unterstützt wird
Die Klassen in den folgenden Notification Services-Namespaces bieten keine Unterstützung für COM-Interop:
- Microsoft.SqlServer.NotificationServices.Rules, der in Abonnementverwaltungsschnittstellen verwendet wird, die bedingungsbasierte Abonnements unterstützen. Dieser Namespace befindet sich in der
Microsoft.SqlServer.NotificationServices.Rules.dll
-Assembly. - Microsoft.SqlServer.Management.Nmo, der von Ihnen verwendet werden kann, um Notification Services-Anwendungen programmgesteuert zu definieren und um Notification Services-Instanzen zu konfigurieren, bereitzustellen und zu verwalten. Dieser Namespace befindet sich in der
Microsoft.SqlServer.Smo.dll
-Assembly.
Microsoft.SqlServer.NotificationServices-Namespace
Die folgenden Klassen im Microsoft.SqlServer.NotificationServices-Namespace bieten eine teilweise Unterstützung für COM-Interop:
- ApplicationEnumeration
- DeliveryChannel
- DeliveryChannelEnumeration
- Event
- EventClass
- EventClassEnumeration
- EventCollector
- IEventProvider
- InstanceEnumeration
- NotificationClass
- NotificationClassEnumeration
- NSApplication
- NSInstance
- NSInstanceDescription
- Subscriber
- SubscriberDevice
- SubscriberDeviceEnumeration
- SubscriberEnumeration
- SubscriberLocale
- SubscriberLocaleEnumeration
- Subscription
Hinweis: Die Condition-Eigenschaft bietet keine Unterstützung für COM-Interop. - SubscriptionClass
- SubscriptionClassEnumeration
- SubscriptionEnumeration
- TimeZone
- TimeZoneEnumeration
Diese Klassen stellen einen Standardkonstruktor und eine Initialize-Methode zum Erstellen und Initialisieren eines Objekts in nicht verwaltetem Code bereit. Für überladene Methoden in diesen Klassen wird für den COM-Aufrufer die umfassendste Überladung bereitgestellt, und Methodenparameter werden optional festgelegt, um eine entsprechende Funktionalität bereitzustellen.
Wenn Sie mehrere Versionen von Notification Services installiert haben und COM-Interop verwenden, werden vom Code die APIs aus der zuletzt installierten Version von Notification Services verwendet. Dies ist nicht notwendigerweise die höchste Versionsnummer von Notification Services. Eine solche Diskrepanz kann auftreten, weil die Programm-ID (unter HKEY_CLASSES_ROOT) das Format "Microsoft.SqlServer.NotificationServices.NSInstance" aufweist und immer auf die zuletzt installierte Version zeigt.
Weitere Informationen zum Verwenden von COM-Interop finden Sie unter COM Interoperability in Visual Basic and Visual C# (in Englisch) in der Microsoft MSDN® Library.
Siehe auch
Konzepte
Architektur von Notification Services
Programmierumgebung für Notification Services
Bereitstellungsoptionen für Notification Services
Andere Ressourcen
Erstellen von Benachrichtigungslösungen
Bereitstellen von Notification Services
Verwalten von Notification Services