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 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.