ReportingService2010.CreateCacheRefreshPlan Methode

Definition

Erstellt einen Cache-Refresh-Plan für ein Item. Diese Methode gilt für die und Dataset Item-TypenReport.

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 vollständig qualifizierte URL des Elements, mit dem der Cache-Aktualisierungsplan verknüpft werden soll, einschließlich des Dateinamens und im SharePoint-Modus der Endung.

Description
String

Die Beschreibung des Cache-Aktualisierungsplans. Wenn dieser Parameter auf null (Nothingin Visual Basic) gesetzt ist, erzeugt der Berichtsserver automatisch eine Beschreibung.

EventType
String

Die Art des Ereignisses, das das Cache-Update auslöst. Derzeit ist der gültige Wert .RefreshCache Wenn dieser Parameter auf null gesetzt ist (Nothing ist Visual Basic), wird der Standardwert von RefreshCache verwendet.

MatchData
String

Die Daten, die mit dem angegebenen EventType Parameter verknüpft sind. Dies muss eine serialisierte ScheduleDefinition Nummer sein, die spezifisch für den Artikel in ItemPathist, oder die Schedule-ID eines gemeinsamen Schedules.

Parameters
ParameterValue[]

Ein Array von ParameterValue Objekten, das eine Liste von Parametern für das in angegebene ItemPathElement enthält.

Gibt zurück

A, der die eindeutige Identifikatorin für den Cache-Aktualisierungsplan string darstellt.

Attribute

Beispiele

Das folgende Beispiel lädt einen Bericht in den Cache und aktualisiert ihn täglich.

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

Die untenstehende Tabelle zeigt Header- und Berechtigungsinformationen zu dieser Operation.

Verwendung von SOAP-Headern (In) TrustedUserHeaderValue

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

Der verwendete EventType Punkt, um Cache-Aktualisierungspläne zu erstellen, ist RefreshCache. Der Parameter MatchData hängt vom Ereignistyp ab. Wenn das Ereignis ein Ereignis TimedSubscription ist, wird ein ScheduleDefinition Objekt als Parameter MatchData benötigt. Sie müssen das ScheduleDefinition Objekt zunächst als XML serialisieren, um es als String-Wert zu übergeben und basierend auf dem Zeitplan einen Cache-Refresh-Plan zu erstellen.

Du kannst die Klasse System.Xml.Serialization.XmlSerializer verwenden, um deine Objektklasse automatisch in eine XML-Zeichenkette umzuwandeln.

Gilt für: