Share via


Eliminar una suscripción

El método Delete de la clase Subscription elimina un registro existente de suscripción de la base de datos de aplicación. Los ejemplos siguientes muestran cómo eliminar una suscripción mediante código administrado y Microsoft Visual Basic Scripting Edition (VBScript) para ilustrar la interoperabilidad COM.

Ejemplo de código administrado

En el siguiente ejemplo se muestra cómo encontrar una suscripción específica usando un objeto SubscriptionEnumeration y el método GetFieldValue, y cómo eliminar la suscripción acto seguido. Este ejemplo eliminará todas las suscripciones del suscriptor con un valor de City igual a Edmonds.

Si está desarrollando una interfaz de usuario, puede utilizar la clase SubscriptionEnumeration para mostrar todas las suscripciones del suscriptor y, a continuación, permitir al suscriptor que seleccione una suscripción y que la elimine.

// 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();

Ejemplo de interoperabilidad COM

El siguiente ejemplo de código de VBScript muestra cómo eliminar una suscripción usando la interoperabilidad COM. Al utilizar la interoperabilidad COM, primero debe crear objetos y, a continuación, inicializarlos. El resto del código es similar al ejemplo de código administrado del ejemplo anterior.

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

Vea también

Conceptos

Crear un objeto de suscripción
Agregar una suscripción
Actualizar una suscripción
Obtener información de campos de suscripción
Llenar una lista de configuraciones regionales de suscriptor
Llenar una lista de zona horaria

Otros recursos

NS<nombreDeClaseDeSuscripción>View (vista)

Ayuda e información

Obtener ayuda sobre SQL Server 2005