ReportingService2010.CreateCacheRefreshPlan Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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 ItemPath
oder die Zeitplan-ID eines freigegebenen Zeitplans sein.
- Parameters
- ParameterValue[]
Ein Array von ParameterValue -Objekten, das eine Liste von Parametern für das in ItemPath
angegebene 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.