Freigeben über


ReportingService2010.CreateCacheRefreshPlan Methode

Definition

Erstellt einen Cacheaktualisierungsplan für ein Element. Diese Methode gilt für den Report-Elementtyp und den Dataset-Elementtyp.

public:
 System::String ^ CreateCacheRefreshPlan(System::String ^ ItemPath, System::String ^ Description, System::String ^ EventType, System::String ^ MatchData, cli::array <ReportService2010::ParameterValue ^> ^ Parameters);
[System.Web.Services.Protocols.SoapDocumentMethod("http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer/CreateCacheRefreshPlan", ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, RequestNamespace="http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", ResponseNamespace="http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", Use=System.Web.Services.Description.SoapBindingUse.Literal)]
[System.Web.Services.Protocols.SoapHeader("TrustedUserHeaderValue")]
[System.Web.Services.Protocols.SoapHeader("ServerInfoHeaderValue", Direction=System.Web.Services.Protocols.SoapHeaderDirection.Out)]
public string CreateCacheRefreshPlan (string ItemPath, string Description, string EventType, string MatchData, ReportService2010.ParameterValue[] Parameters);
[<System.Web.Services.Protocols.SoapDocumentMethod("http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer/CreateCacheRefreshPlan", ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, RequestNamespace="http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", ResponseNamespace="http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", Use=System.Web.Services.Description.SoapBindingUse.Literal)>]
[<System.Web.Services.Protocols.SoapHeader("TrustedUserHeaderValue")>]
[<System.Web.Services.Protocols.SoapHeader("ServerInfoHeaderValue", Direction=System.Web.Services.Protocols.SoapHeaderDirection.Out)>]
member this.CreateCacheRefreshPlan : string * string * string * string * ReportService2010.ParameterValue[] -> string
Public Function CreateCacheRefreshPlan (ItemPath As String, Description As String, EventType As String, MatchData As String, Parameters As ParameterValue()) As String

Parameter

ItemPath
String

Die vollqualifizierte URL des Elements, dem der Cacheaktualisierungsplan zugeordnet werden soll, einschließlich des Dateinamens und (im SharePoint-Modus) der Erweiterung.

Description
String

Die Beschreibung des Cacheaktualisierungsplans. Wenn dieser Parameter auf null festgelegt wird (Nothing in Visual Basic), wird vom Berichtsserver automatisch eine Beschreibung generiert.

EventType
String

Der Typ des Ereignisses, das die Cacheaktualisierung auslöst. Aktuell ist der gültige Wert RefreshCache. Wenn dieser Parameter auf null festgelegt wird (Nothing in Visual Basic), wird der Standardwert RefreshCache verwendet.

MatchData
String

Die Daten, die dem angegebenen EventType Parameter zugeordnet sind. Dies muss eine serialisierte ScheduleDefinition spezifisch für das Element in ItemPathoder die Zeitplan-ID eines freigegebenen Zeitplans sein.

Parameters
ParameterValue[]

Ein Array von ParameterValue -Objekten, das eine Liste von Parametern für das in ItemPathangegebene Element enthält.

Gibt zurück

Ein string-Wert, der den eindeutigen Bezeichner für den Cacheaktualisierungsplan darstellt.

Attribute

Beispiele

Im folgenden Beispiel wird ein Bericht in den Cache geladen und der Cache täglich aktualisiert.

using System;  
using System.Collections.Generic;  
using System.IO;  
using System.Text;  
using System.Web;  
using System.Web.Services;  
using System.Web.Services.Protocols;  

class Sample  
{  
    static void Main(string[] args)  
    {  
        ReportingService2010 rs = new ReportingService2010();  
        rs.Url = "http://<Server Name>" +  
            "/_vti_bin/ReportServer/ReportService2010.asmx";  
        rs.Credentials =   
            System.Net.CredentialCache.DefaultCredentials;  

        string report = "http://<Server Name>" +  
            "/Docs/Documents/AdventureWorks Sample Reports" +  
            "/Sales Order Detail.rdl";  
        string desc = "Daily refresh of the report cache, starting 2/22/2010 at 2:15am";  
        string eventType = "RefreshCache";  
        ScheduleDefinition definition =   
            new ScheduleDefinition();  
        // Create the schedule definition.  
        definition.StartDateTime =  
        new DateTime(2010, 2, 22, 10, 15, 0);  
        DailyRecurrence recurrence =   
            new DailyRecurrence();  
        recurrence.DaysInterval = 1;  
        definition.Item = recurrence;  
        // Serialize schedule definition  
        System.Xml.Serialization.XmlSerializer serializer =   
            new System.Xml.Serialization.XmlSerializer(  
                typeof(ScheduleDefinition));  
        MemoryStream stream = new MemoryStream();  
        serializer.Serialize(stream, definition);  
        UTF8Encoding encoding = new UTF8Encoding();  
        string defString = encoding.GetString(stream.ToArray());  

        try  
        {  
            rs.CreateCacheRefreshPlan(report, desc, eventType,   
                defString, null);  
        }  

        catch (SoapException e)  
        {  
            Console.WriteLine(e.Detail.InnerXml.ToString());  
        }  
    }  
}  
Imports System  
Imports System.IO  
Imports System.Text  
Imports System.Web.Services  
Imports System.Web.Services.Protocols  

Class Sample  

    Public Shared Sub Main()  

        Dim rs As New ReportingService2010()  
        rs.Url = "http://<Server Name>" + _  
            "/_vti_bin/ReportServer/ReportService2010.asmx"  
        rs.Credentials = _  
            System.Net.CredentialCache.DefaultCredentials  

        Dim report As String = "http://<Server Name>/Docs/" + _  
            "Documents/AdventureWorks Sample Reports/" + _  
            "Sales Order Detail.rdl"  
        Dim desc As String = " Daily refresh of the report cache, _  
            starting 2/22/2010 at 2:15am."  

        Dim eventType As String = "RefreshCache"  
        Dim definition As New ScheduleDefinition()  
        ' Create the schedule definition.  
        definition.StartDateTime = New DateTime(2010, 2, 22, 10, 15, 0)  
        Dim recurrence As New DailyRecurrence()  
        recurrence.DaysInterval = 1  
        definition.Item = recurrence  
        Dim serializer As New System.Xml.Serialization.XmlSerializer(_  
            GetType(ScheduleDefinition))  
        Dim stream As New MemoryStream()  
        serializer.Serialize(stream, definition)  
        Dim encoding As New UTF8Encoding()  
        Dim defString As String = encoding.GetString(stream.ToArray())  

        Try  
            rs.CreateCacheRefreshPlan(report, desc, eventType,   
                defString, Nothing)  
        Catch e As SoapException  
            Console.WriteLine(e.Detail.InnerXml.ToString())  
        End Try  

    End Sub  

End Class  

Hinweise

In der folgenden Tabelle werden Header- und Berechtigungsinformationen zu diesem Vorgang dargestellt.

SOAP-Headerverwendung (In) TrustedUserHeaderValue

(Out) ServerInfoHeaderValue
Erforderliche Berechtigungen im einheitlichen Modus ReadPolicy UND UpdatePolicy
Erforderliche Berechtigungen im SharePoint-Modus <xref:Microsoft.SharePoint.SPBasePermissions.EditListItems> UND <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems>

Die EventType zum Erstellen von Cacheaktualisierungsplänen verwendete ist RefreshCache. Der MatchData Parameter hängt vom Ereignistyp ab. Wenn es sich bei dem Ereignis um ein TimedSubscription -Ereignis handelt, ist ein ScheduleDefinition -Objekt als MatchData Parameter erforderlich. Sie müssen das ScheduleDefinition Objekt zuerst als XML serialisieren, um es als Zeichenfolgenwert zu übergeben und einen Cacheaktualisierungsplan basierend auf dem Zeitplan zu erstellen.

Sie können die System.Xml.Serialization.XmlSerializer -Klasse verwenden, um Ihre Objektklasse automatisch in eine XML-Zeichenfolge zu konvertieren.

Gilt für: