Удаление подписки
Метод Delete класса Subscription удаляет существующую запись подписки в базе данных приложения. Примеры ниже показывают, как удалить подписку с помощью управляемого кода и с помощью языка Microsoft Visual Basic Scripting Edition (VBScript) для демонстрации взаимодействия COM.
Пример управляемого кода
На следующем примере показано, как установить местонахождение конкретной подписки при помощи объекта SubscriptionEnumeration и метода GetFieldValue, а затем удалить эту подписку. В данном примере удаляются все подписки подписчика, при этом значение «City» равно «Edmonds».
При разработке пользовательского интерфейса можно использовать класс SubscriptionEnumeration, чтобы составить список всех подписок подписчика, разрешить подписчику выбрать подписку, а затем удалить ее.
// Create the NSInstance object.
NSInstance testInstance = new NSInstance("Tutorial");
// Create the NSApplication object.
NSApplication testApplication =
new NSApplication(testInstance, "Weather");
// Create the Subscription object.
Subscription testSubscription =
new Subscription(testApplication, "WeatherCity");
// Create a SubscriptionEnumeration object.
// that contains all of the subscriber's subscriptions
// in a specific subscription class
SubscriptionEnumeration testSubscriptionEnumeration =
new SubscriptionEnumeration(testApplication,
"WeatherCity", "TestUser1");
// Iterate through the subscriptions, finding the subscription
// that you want to delete.
foreach (Subscription subscription in testSubscriptionEnumeration)
{
String city = subscription.GetFieldValue("City").ToString();
if (city.Equals("Edmonds"))
testSubscription.SubscriptionId = subscription.SubscriptionId;
}
// Delete the subscription
testSubscription.Delete();
Пример взаимодействия COM
На примере кода VBScript показано, как удалять подписку при помощи взаимодействия COM. При использовании взаимодействия COM сначала нужно создать объекты, а потом инициализировать их. Остальная часть кода аналогична примеру управляемого кода, представленному выше.
Dim testInstance, testApplication, testSubscriptionEnumeration
const instanceName = "Tutorial"
const applicationName = "Weather"
const subscriptionClassName = "WeatherCity"
' Create the NSInstance object.
set testInstance = WScript.CreateObject( _
"Microsoft.SqlServer.NotificationServices.NSInstance")
testInstance.Initialize instanceName
' Create the NSApplication object.
set testApplication = WScript.CreateObject( _
"Microsoft.SqlServer.NotificationServices.NSApplication")
testApplication.Initialize (testInstance), applicationName
' Create the SubscriptionEnumeration object.
' This constructor returns the subscriptions for
' the specified application, subscription class, and subscriber.
set testSubscriptionEnumeration = WScript.CreateObject( _
"Microsoft.SqlServer.NotificationServices.SubscriptionEnumeration")
testSubscriptionEnumeration.Initialize (testApplication), _
subscriptionClassName, "TestUser1"
' Step through the subscriptions, locate the one
' that should be removed, and delete it.
for each thisSubscription in testSubscriptionEnumeration
if thisSubscription.GetFieldValue("City") = "Orlando" then
thisSubscription.Delete
end if
next
wscript.echo "Subscriber deleted."
См. также
Основные понятия
Создание объекта Subscription
Добавление подписки
Обновление подписки
Получение сведений о поле подписки
Заполнение списка языковых стандартов подписчиков
Заполнение списка часовых поясов
Другие ресурсы
Представление NS<SubscriptionClassName>View