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.
O SyncFolderItemsType classe representa uma solicitação para sincronizar itens em uma pasta com o computador que está executando o 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. Porque o SyncState propriedade estiver definida, os itens na pasta foram sincronizados antes. Essa operação SyncFolderItems retornará todas as alterações feitas desde a sincronização de chamada que é representada pelo SyncState propriedade. Essa chamada retornará um máximo de 100 itens, que são representados por seus identificadores de item e seu campo assunto, se aplicável. Além disso, lembre-se de que essa chamada ignora a 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 o objeto de proxy.
Construtores
| SyncFolderItemsType() |
O SyncFolderItemsType construtor inicializa uma nova instância do SyncFolderItemsType classe. |
Propriedades
| Ignore |
O Ignore propriedade obtém ou define uma matriz de itens para ignorar a sincronização. Essa propriedade é opcional. Esta é uma propriedade de leitura/gravação. |
| ItemShape |
O ItemShape propriedade obtém ou define a forma que descreve quais propriedades são retornadas na resposta. Essa propriedade é obrigatória. Esta é uma propriedade de leitura/gravação. |
| MaxChangesReturned |
O MaxChangesReturned propriedade obtém ou define o número máximo de alterações que pode ser retornado em uma resposta de sincronização. Essa propriedade é obrigatória. Esta é uma propriedade de leitura/gravação. |
| SyncFolderId |
O SyncFolderId propriedade obtém ou define a identidade da pasta que contém os itens a serem sincronizados. Essa propriedade é obrigatória. Esta é uma propriedade de leitura/gravação. |
| SyncScope |
O SyncScope propriedade obtém ou define uma do SyncFolderItemsScopeType valores de enumeração que especifica se apenas itens ou itens e pasta informações associadas são retornados em uma resposta de sincronização. |
| SyncScopeSpecified |
O SyncScopeSpecified propriedade obtém ou define um valor Boolean que especifica se o SyncScope propriedade é serializada na solicitação SOAP. Essa propriedade é obrigatória se a SyncScope propriedade for especificada. |
| SyncState |
O SyncState propriedade obtém ou define o identificador de estado de sincronização. Essa propriedade é opcional com advertências. Esta é uma propriedade de leitura/gravação. |