Freigeben über


SyncFolderItemsType Klasse

Definition

Die SyncFolderItemsType -Klasse stellt eine Anforderung zum Synchronisieren von Elementen in einem Ordner mit dem Computer dar, auf dem Microsoft Exchange Server 2007 ausgeführt wird.

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

Beispiele

Im folgenden Beispiel wird gezeigt, wie Sie die Elemente im Ordner Posteingang synchronisieren. Da die SyncState -Eigenschaft festgelegt ist, wurden die Elemente im Ordner zuvor synchronisiert. Dieser SyncFolderItems-Vorgang gibt alle Änderungen zurück, die seit dem Synchronisierungsaufruf vorgenommen wurden, der durch die SyncState -Eigenschaft dargestellt wird. Dieser Aufruf gibt maximal 100 Elemente zurück, die ggf. durch ihre Elementbezeichner und ihr Betrefffeld dargestellt werden. Beachten Sie auch, dass dieser Aufruf ein einzelnes Element ignoriert.

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

    // Identify the properties that are synchronized.
    ItemResponseShapeType shape = new ItemResponseShapeType();
    shape.BaseShape = DefaultShapeNamesType.IdOnly;
    PathToUnindexedFieldType itemSubject = new PathToUnindexedFieldType();
    itemSubject.FieldURI = UnindexedFieldURIType.itemSubject;
    shape.AdditionalProperties = new BasePathToElementType[1];
    shape.AdditionalProperties[0] = itemSubject;

    // Add the synchronized properties to the request.
<span class="label">request</span>.ItemShape = shape;

    // Define the maximum number of changes returned in the response.
<span class="label">request</span>.MaxChangesReturned = 100;

    // Identify the folder to synchronize.
    DistinguishedFolderIdType inbox = new DistinguishedFolderIdType();
    inbox.Id = DistinguishedFolderIdNameType.inbox;
<span class="label">request</span>.SyncFolderId = new TargetFolderIdType();
<span class="label">request</span>.SyncFolderId.Item = inbox;

    // Add the synchronization state to the request.
<span class="label">request</span>.SyncState = "wQ3YnacHwN3pRYZFQ1jv7HwSZzl/z/wESqUej1h8AAA==";

    // Identify which items should not be synchronized.
<span class="label">request</span>.Ignore = new ItemIdType[1];
<span class="label">request</span>.Ignore[0] = new ItemIdType();
<span class="label">request</span>.Ignore[0].Id = "AAAlAE1BQG1haW5lcmNvbnRvc";
<span class="label">request</span>.Ignore[0].ChangeKey = "CQAAABYAAAAMoHzy8/QATr21qKEgNudZAG6ns+MG";

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

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

    if (rmta[0].ResponseClass == ResponseClassType.Success)
    {
        // Cast the response message to the appropriate type.
        SyncFolderItemsResponseMessageType sfirmt = rmta[0] as SyncFolderItemsResponseMessageType;

        // Get the sync state string to use in later synchronization calls.
        string syncState = sfirmt.SyncState;

        // Get the array of changes that are returned in the response.
        SyncFolderItemsChangesType changeArray = sfirmt.Changes;

        // This contains the array of item changes.
        object[] changes = changeArray.Items;

        // This identifies the type of change that occurred on an item.
        ItemsChoiceType2 changeType;

        for (int count = 0; count &lt; changes.Length; count++)
        { 
            // This identifies the type of change that is represented by the objects
            // in the changes object[].
            changeType = changeArray.ItemsElementName[count];

            // Check for the change type of each folder that is returned in the response.
            switch (changeType)
            {
                case ItemsChoiceType2.Create:
                    SyncFolderItemsCreateOrUpdateType createdItem = changes[count] as SyncFolderItemsCreateOrUpdateType;
                    // TODO: Handle the created item.
                    if (createdItem.Item is TaskType)
                    {
                        // TODO: Cast to task item and handle properties.
                    }
                    else;
                    // TODO: Check and cast for MeetingCancellationMessageType, MeetingResponseMessageType,
                    // MeetingRequestMessageType, MeetingMessageType, DistributionListType, ContactItemType,
                    // CalendarItemType, MessageType, or ItemType types.
                    break;

                case ItemsChoiceType2.Update:
                    SyncFolderItemsCreateOrUpdateType updatedItem = changes[count] as SyncFolderItemsCreateOrUpdateType;
                    // TODO: Handle the updated item.
                    // TODO: Check and cast to one of the 10 item types.
                    break;

                case ItemsChoiceType2.ReadFlagChange:
                    SyncFolderItemsCreateOrUpdateType changeReadFlag = changes[count] as SyncFolderItemsCreateOrUpdateType;
                    // TODO: Check and cast to one of the 10 item types.
                    // TODO: Update the read flag on the local item.
                    break;
                case ItemsChoiceType2.Delete:
                    SyncFolderItemsDeleteType deletedItem = changes[count] as SyncFolderItemsDeleteType;
                    // TODO: Get the identifier of the deleted item.
                    break;
            }
        }
    }
}

Hinweise

Verwenden Sie zum Synchronisieren der Ordnerhierarchie das SyncFolderHierarchyType Proxyobjekt.

Konstruktoren

SyncFolderItemsType()

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

Eigenschaften

Ignore

Die Ignore -Eigenschaft ruft ein Array von Elementen ab, die für die Synchronisierung übersprungen werden sollen, oder legt dieses fest. Diese Eigenschaft ist optional. Dies ist eine Lese-/Schreibeigenschaft.

ItemShape

Die ItemShape -Eigenschaft ruft die Form ab, die beschreibt, welche Eigenschaften in der Antwort zurückgegeben werden, oder legt diese fest. Diese Eigenschaft ist erforderlich. Dies ist eine Lese-/Schreibeigenschaft.

MaxChangesReturned

Die MaxChangesReturned -Eigenschaft ruft die maximale Anzahl von Änderungen ab, die in einer Synchronisierungsantwort zurückgegeben werden können, oder legt diese fest. Diese Eigenschaft ist erforderlich. Dies ist eine Lese-/Schreibeigenschaft.

SyncFolderId

Die SyncFolderId -Eigenschaft ruft die Identität des Ordners ab, der die zu synchronisierenden Elemente enthält, oder legt diese fest. Diese Eigenschaft ist erforderlich. Dies ist eine Lese-/Schreibeigenschaft.

SyncScope

Die SyncScope -Eigenschaft ruft einen der Enumerationswerte ab, der SyncFolderItemsScopeType angibt, ob nur Elemente oder Elemente und ordnerbezogene Informationen in einer Synchronisierungsantwort zurückgegeben werden, oder legt diesen fest.

SyncScopeSpecified

Die SyncScopeSpecified -Eigenschaft ruft einen booleschen Wert ab, der angibt, ob die SyncScope Eigenschaft in die SOAP-Anforderung serialisiert wird, oder legt diesen fest. Diese Eigenschaft ist erforderlich, wenn die SyncScope Eigenschaft angegeben wird.

SyncState

Die SyncState -Eigenschaft ruft den Synchronisierungszustandsbezeichner ab oder legt diese fest. Diese Eigenschaft ist optional mit Einschränkungen. Dies ist eine Lese-/Schreibeigenschaft.

Gilt für: