Clase CrossListQueryCache
Administra la caché para la Consulta de entre la lista.
Jerarquía de la herencia
System.Object
Microsoft.SharePoint.Publishing.CrossListQueryCache
Espacio de nombres: Microsoft.SharePoint.Publishing
Ensamblado: Microsoft.SharePoint.Publishing (en Microsoft.SharePoint.Publishing.dll)
Sintaxis
'Declaración
<SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel := True)> _
<SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel := True)> _
Public NotInheritable Class CrossListQueryCache
'Uso
Dim instance As CrossListQueryCache
[SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel = true)]
[SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel = true)]
public sealed class CrossListQueryCache
Comentarios
No se puede heredar esta clase. Esta caché de clase conjunto de datos que se devuelven desde la consulta de lista de cruz y se aplica a la audiencia de destino para el resultado que devuelve la propiedad VersionCrossListQueryInfo .
Ejemplos
En el ejemplo de código siguiente se muestra una manera de utilizar el objeto CrossListQueryCache , propiedades y métodos. Este código ve datos en el objeto CrossListQueryCache , obtiene los datos y almacena los datos en un nuevo contenido por consulta de elemento Web para su visualización.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.SharePoint.Publishing;
using Microsoft.SharePoint.Publishing.WebControls;
using Microsoft.SharePoint;
using System.Web;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// GetSiteDataResults(Microsoft.SharePoint.SPSite,System.Boolean)
ExampleOne();
// GetSiteDataResults(Microsoft.SharePoint.SPSite,System.String,System.Boolean)
ExampleTwo();
//GetSiteDataResults(Microsoft.SharePoint.SPWeb,Microsoft.SharePoint.SPSiteDataQuery,System.Boolean)
ExampleThree();
// GetSiteDataResults(Microsoft.SharePoint.SPWeb,System.Boolean)
ExampleFour();
}
//GetSiteDataResults(Microsoft.SharePoint.SPSite,System.Boolean)
// Returns the results of the current query on the specified site. The query will be run against
// an SPList if useSpQueryOnList is set to true. Otherwise the query will be run against a site or web
// This version of GetSiteDataResults uses the web url in this object's CrossListQueryInfo to determine
// either the web to query against or the web of the list being queried against depending on the value
// of useSpQueryOnList.
private static void ExampleOne()
{
using (SPSite site = new SPSite("http://adventure-works"))
{
//Get a CbqQueryVersionInfo object from a ContentByQueryWebPart and use it to get a CrossListQueryInfo
ContentByQueryWebPart cbq = new ContentByQueryWebPart();
CbqQueryVersionInfo versionInfo = cbq.BuildCbqQueryVersionInfo();
CrossListQueryInfo queryInfo = versionInfo.VersionCrossListQueryInfo;
// Create a new CrossListQueryCache object with the queryInfo we just got
CrossListQueryCache crossListCache = new CrossListQueryCache(queryInfo);
SiteDataResults results = crossListCache.GetSiteDataResults(site, false);
}
}
// GetSiteDataResults(Microsoft.SharePoint.SPSite,System.String,System.Boolean)
// Returns the results of the current query on the specified site. The query will be run against
// an SPList if useSpQueryOnList is set to true. Otherwise the query will be run against a site or web
// This version of GetSiteDataResults uses the webUrl parameter to determine
// either the web to query against or the web of the list being queried against depending on the value
// of useSpQueryOnList.
private static void ExampleTwo()
{
using (SPSite site = new SPSite("http://adventure-works"))
{
//Get a CbqQueryVersionInfo object from a ContentByQueryWebPart and use it to get a CrossListQueryInfo
ContentByQueryWebPart cbq = new ContentByQueryWebPart();
CbqQueryVersionInfo versionInfo = cbq.BuildCbqQueryVersionInfo();
CrossListQueryInfo queryInfo = versionInfo.VersionCrossListQueryInfo;
// Create a new CrossListQueryCache object with the queryInfo we just got
CrossListQueryCache crossListCache = new CrossListQueryCache(queryInfo);
// GetSiteDataResults(Microsoft.SharePoint.SPSite,System.String,System.Boolean)
SiteDataResults results = crossListCache.GetSiteDataResults(site, "/", false);
}
}
//GetSiteDataResults(Microsoft.SharePoint.SPWeb,Microsoft.SharePoint.SPSiteDataQuery,System.Boolean)
// Returns the results of the passed in query parameter on the specified web or list. The query will be run against
// an SPList if useSpQueryOnList is set to true. Otherwise the query will be run against a web
// This version of GetSiteDataResults uses object's member SPSiteDataQuery
private static void ExampleThree()
{
using (SPSite site = new SPSite("http://adventure-works"))
{
//Get a CbqQueryVersionInfo object from a ContentByQueryWebPart and use it to get a CrossListQueryInfo
ContentByQueryWebPart cbq = new ContentByQueryWebPart();
CbqQueryVersionInfo versionInfo = cbq.BuildCbqQueryVersionInfo();
CrossListQueryInfo queryInfo = versionInfo.VersionCrossListQueryInfo;
// Create a new CrossListQueryCache object with the queryInfo we just got
CrossListQueryCache crossListCache = new CrossListQueryCache(queryInfo);
// Use the cossListCache to create an SPSiteDataQuery
SPSiteDataQuery query = new SPSiteDataQuery();
query.Query = queryInfo.Query;
query.Lists = queryInfo.Lists;
if (queryInfo.RowLimit != UInt32.MaxValue)
{
query.RowLimit = queryInfo.RowLimit;
}
query.ViewFields = queryInfo.ViewFields;
query.Webs = queryInfo.Webs;
SiteDataResults results;
using (SPWeb web = site.OpenWeb("/"))
{
//GetSiteDataResults(Microsoft.SharePoint.SPWeb,Microsoft.SharePoint.SPSiteDataQuery,System.Boolean)
results = crossListCache.GetSiteDataResults(web, query, false);
}
}
}
// GetSiteDataResults(Microsoft.SharePoint.SPWeb,System.Boolean)
// Returns the results of the passed in query parameter on the specified web or list. The query will be run against
// an SPList if useSpQueryOnList is set to true. Otherwise the query will be run against a web
// This version of GetSiteDataResults forgoes the object's member SPSiteDataQuery and uses the passed in SPSiteDataQuery
private static void ExampleFour()
{
using (SPSite site = new SPSite("http://adventure-works"))
{
//Get a CbqQueryVersionInfo object from a ContentByQueryWebPart and use it to get a CrossListQueryInfo
ContentByQueryWebPart cbq = new ContentByQueryWebPart();
CbqQueryVersionInfo versionInfo = cbq.BuildCbqQueryVersionInfo();
CrossListQueryInfo queryInfo = versionInfo.VersionCrossListQueryInfo;
// Create a new CrossListQueryCache object with the queryInfo we just got
CrossListQueryCache crossListCache = new CrossListQueryCache(queryInfo);
SiteDataResults results;
using (SPWeb web = site.OpenWeb("/"))
{
// GetSiteDataResults(Microsoft.SharePoint.SPWeb,System.Boolean)
results = crossListCache.GetSiteDataResults(web, false);
}
}
}
}
}
Seguridad para subprocesos
Los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para subprocesos. No se garantiza que los miembros de instancias sean seguros para los subprocesos.