SyncFolderItemsType Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
A SyncFolderItemsType classe representa uma solicitação para sincronizar itens em uma pasta com o computador que está executando Microsoft Exchange Server 2007.
public ref class SyncFolderItemsType : ExchangeWebServices::BaseRequestType
public class SyncFolderItemsType : ExchangeWebServices.BaseRequestType
Public Class SyncFolderItemsType
Inherits BaseRequestType
- Herança
Exemplos
O exemplo a seguir mostra como sincronizar os itens na pasta Caixa de Entrada. Como a SyncState propriedade está definida, os itens na pasta já foram sincronizados antes. Essa operação SyncFolderItems retornará todas as alterações feitas desde a chamada de sincronização representada pela SyncState propriedade. Essa chamada retornará um máximo de 100 itens, que são representados por seus identificadores de item e seu campo de assunto, se aplicável. Também esteja ciente de que essa chamada ignora um único item.
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 < 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;
}
}
}
}
Comentários
Para sincronizar a hierarquia de pastas, use o SyncFolderHierarchyType objeto proxy.
Construtores
SyncFolderItemsType() |
O SyncFolderItemsType construtor inicializa uma nova instância da SyncFolderItemsType classe. |
Propriedades
Ignore |
A Ignore propriedade obtém ou define uma matriz de itens a serem ignoradas para sincronização. Essa propriedade é opcional. Esta é uma propriedade de leitura/gravação. |
ItemShape |
A ItemShape propriedade obtém ou define a forma que descreve quais propriedades são retornadas na resposta. Esta propriedade é obrigatória. Esta é uma propriedade de leitura/gravação. |
MaxChangesReturned |
A MaxChangesReturned propriedade obtém ou define o número máximo de alterações que podem ser retornadas em uma resposta de sincronização. Esta propriedade é obrigatória. Esta é uma propriedade de leitura/gravação. |
SyncFolderId |
A SyncFolderId propriedade obtém ou define a identidade da pasta que contém os itens a serem sincronizados. Esta propriedade é obrigatória. Esta é uma propriedade de leitura/gravação. |
SyncScope |
A SyncScope propriedade obtém ou define um dos valores de SyncFolderItemsScopeType enumeração que especifica se apenas itens ou itens e informações associadas à pasta são retornados em uma resposta de sincronização. |
SyncScopeSpecified |
A SyncScopeSpecified propriedade obtém ou define um valor booliano que especifica se a SyncScope propriedade é serializada na solicitação SOAP. Essa propriedade será necessária se a SyncScope propriedade for especificada. |
SyncState |
A SyncState propriedade obtém ou define o identificador de estado de sincronização. Essa propriedade é opcional com ressalvas. Esta é uma propriedade de leitura/gravação. |