Freigeben über


SubscribeType Klasse

Definition

Die SubscribeType -Klasse stellt eine Anforderung zum Abonnieren von Benachrichtigungen über Ereignisse in Postfächern in der Exchange-Datenbank dar.

public ref class SubscribeType : ExchangeWebServices::BaseRequestType
public class SubscribeType : ExchangeWebServices.BaseRequestType
Public Class SubscribeType
Inherits BaseRequestType
Vererbung
SubscribeType

Beispiele

Im folgenden Codebeispiel wird gezeigt, wie Sie ein Pullbenachrichtigungsabonnement erstellen, das den Posteingang und einen anderen Ordner überwacht. Der Parameter

Der Posteingang wird von der DistinguishedFolderIdType -Klasse identifiziert, und der andere Ordner wird von der FolderIdType -Klasse identifiziert. Beide Ordner werden auf neue E-Mail-Nachrichten, kopierte, verschobene, geänderte, erstellte und gelöschte Elemente überwacht. Für das Abonnement tritt nur dann ein Timeout auf, wenn kein GetEvents-Aufruf innerhalb des Timeoutintervalls erfolgt.

static void Subscribe(ExchangeServiceBinding esb)
{
    // Create the request.
    SubscribeType <span class="label">request</span> = new SubscribeType();

    // Identify the type of subscription.
    PullSubscriptionRequestType pullSub = new PullSubscriptionRequestType();

    // Identify the folders that are monitored for events.
    DistinguishedFolderIdType inbox = new DistinguishedFolderIdType();
    inbox.Id = DistinguishedFolderIdNameType.inbox;
    FolderIdType customFolder = new FolderIdType();
    customFolder.Id = "AQAlAE1=";
    pullSub.FolderIds = new BaseFolderIdType[2] { inbox, customFolder };

    // Identify the events that are monitored for the subscription.
    pullSub.EventTypes = new NotificationEventTypeType[6]
    {
        NotificationEventTypeType.CopiedEvent,
        NotificationEventTypeType.CreatedEvent,
        NotificationEventTypeType.DeletedEvent,
        NotificationEventTypeType.ModifiedEvent,
        NotificationEventTypeType.MovedEvent,
        NotificationEventTypeType.NewMailEvent
    };

    // Define the time-out period for the subscription (in minutes).
    pullSub.Timeout = 10;

<span class="label">request</span>.Item = pullSub;

    // Send the request and get the response.
    SubscribeResponseType response = esb.Subscribe(<span class="label">request</span>);

    ArrayOfResponseMessagesType aormt = response.ResponseMessages;
    ResponseMessageType[] rmta = aormt.Items;

    foreach (ResponseMessageType rmt in rmta)
    {
        // Cast to the appropriate response.
        SubscribeResponseMessageType respMsg = (rmt as SubscribeResponseMessageType);

        // Get the new subscription information.
        if (respMsg.ResponseClass == ResponseClassType.Success)
        {
            Console.WriteLine("New subscription: " + respMsg.SubscriptionId);
            Console.WriteLine("Watermark: " + respMsg.Watermark);
        }
    }
}

Hinweise

Die SubscribeType -Klasse wird sowohl für Push- als auch für Pullbenachrichtigungstypen verwendet.

Konstruktoren

SubscribeType()

Der SubscribeType Konstruktor initialisiert eine neue Instanz der SubscribeType -Klasse.

Eigenschaften

Item

Die Item -Eigenschaft ruft den Abonnementtyp ab oder legt diese fest. Diese Eigenschaft ruft entweder ein - oder PushSubscriptionRequestType -PullSubscriptionRequestTypeObjekt ab oder legt es fest. Diese Eigenschaft ist erforderlich. Dies ist eine Lese-/Schreibeigenschaft.

Gilt für: