FindFolderType Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
La FindFolderType clase representa una solicitud para buscar carpetas en un buzón de correo.
public ref class FindFolderType : ExchangeWebServices::BaseRequestType
public class FindFolderType : ExchangeWebServices.BaseRequestType
Public Class FindFolderType
Inherits BaseRequestType
- Herencia
Ejemplos
En el ejemplo siguiente se muestra una consulta FindFolder que devuelve los resultados siguientes:
- Búsqueda de recorrido profundo de la Bandeja de entrada.
- Todas las propiedades definidas para default FolderShape en una operación FindFolder.
- Todas las carpetas que tienen un nombre para mostrar de SentOnlyToMe. El caso no tiene que coincidir.
- Esquema de paginación fraccionaria que devuelve como máximo una sola carpeta que comienza después de la primera carpeta.
static void FindFolder(ExchangeServiceBinding esb)
{
// Create the request and specify the traversal type.
FindFolderType <span class="label">findFolderRequest</span> = new FindFolderType();
<span class="label">findFolderRequest</span>.Traversal = FolderQueryTraversalType.Deep;
// Define the properties to be returned in the response.
FolderResponseShapeType responseShape = new FolderResponseShapeType();
responseShape.BaseShape = DefaultShapeNamesType.Default;
<span class="label">findFolderRequest</span>.FolderShape = responseShape;
// Identify which folders to search.
DistinguishedFolderIdType[] folderIDArray = new DistinguishedFolderIdType[1];
folderIDArray[0] = new DistinguishedFolderIdType();
folderIDArray[0].Id = DistinguishedFolderIdNameType.inbox;
// Add the folders to search to the request.
<span class="label">findFolderRequest</span>.ParentFolderIds = folderIDArray;
// Restriction based on the folder display name.
RestrictionType restriction = new RestrictionType();
PathToUnindexedFieldType fldrRestriction = new PathToUnindexedFieldType();
fldrRestriction.FieldURI = UnindexedFieldURIType.folderDisplayName;
// Identify the folder name to restrict on.
ContainsExpressionType contains = new ContainsExpressionType();
contains.ContainmentMode = ContainmentModeType.Substring;
contains.ContainmentModeSpecified = true;
contains.ContainmentComparison = ContainmentComparisonType.IgnoreCase;
contains.ContainmentComparisonSpecified = true;
contains.Item = fldrRestriction;
contains.Constant = new ConstantValueType();
contains.Constant.Value = "SentOnlyToMe";
restriction.Item = contains;
<span class="label">findFolderRequest</span>.Restriction = restriction;
// Define the paging scheme for the result set.
FractionalPageViewType fpvt = new FractionalPageViewType();
fpvt.MaxEntriesReturned = 1;
fpvt.MaxEntriesReturnedSpecified = true;
fpvt.Numerator = 1;
fpvt.Denominator = 4;
<span class="label">findFolderRequest</span>.Item = fpvt;
try
{
// Send the request and get the response.
FindFolderResponseType findFolderResponse = esb.FindFolder(<span class="label">findFolderRequest</span>);
// Get the response messages.
ResponseMessageType[] rmta = findFolderResponse.ResponseMessages.Items;
foreach (ResponseMessageType rmt in rmta)
{
FindFolderResponseMessageType ffrmt = (rmt as FindFolderResponseMessageType);
FindFolderParentType ffpt = ffrmt.RootFolder;
BaseFolderType[] folders = ffpt.Folders;
foreach (BaseFolderType folder in folders)
{
// Check folder type
if (folder is CalendarFolderType)
{
CalendarFolderType fldr = (folder as CalendarFolderType);
// TODO: Handle calendar folder
}
else
{
// TODO: Handle folders, search folders, tasks folders,
// and contacts folder
}
}
}
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
Comentarios
La operación FindFolder busca subcarpetas de una carpeta identificada. La operación FindFolder devuelve solo los primeros 512 bytes de cualquier propiedad que se pueda transmitir. Para Unicode, la operación FindFolder devuelve los primeros 255 caracteres mediante una cadena Unicode terminada en NULL. Use la operación GetFolder para obtener propiedades de carpeta adicionales.
Se permiten restricciones en las propiedades de carpeta, pero no en las propiedades de elementos. La funcionalidad de ordenación no está disponible para las respuestas FindFolder. Las consultas agrupadas no están disponibles para las consultas FindFolder.
Constructores
FindFolderType() |
El FindFolderType constructor inicializa una nueva instancia de la FindFolderType clase . |
Propiedades
FolderShape |
La FolderShape propiedad obtiene o establece la forma del conjunto de consultas. La propiedad es obligatoria. Se trata de una propiedad de lectura y escritura. |
Item |
La Item propiedad obtiene o establece el tipo de paginación que describe cómo se pagina el conjunto de resultados de la consulta en la respuesta. Esta propiedad obtiene o establece un IndexedPageViewType objeto o FractionalPageViewType . Esta propiedad es opcional. Se trata de una propiedad de lectura y escritura. |
ParentFolderIds |
La ParentFolderIds propiedad obtiene o establece las carpetas que busca la operación FindFolder. La propiedad es obligatoria. Se trata de una propiedad de lectura y escritura. |
Restriction |
La Restriction propiedad obtiene o establece los parámetros de búsqueda que definen una consulta de carpeta. Esta propiedad es opcional. Se trata de una propiedad de lectura y escritura. |
Traversal |
La Traversal propiedad obtiene o establece el esquema de recorrido que se usa para buscar carpetas. La propiedad es obligatoria. Se trata de una propiedad de lectura y escritura. |