ReportingService2010.CreateCacheRefreshPlan Method (String, String, String, String, ParameterValue )

 

Applies To: SQL Server 2016 Preview

Creates a cache refresh plan for an item. This method applies to the Report and Dataset item types.

Namespace:   ReportService2010
Assembly:  ReportService2010 (in ReportService2010.dll)

Syntax

[SoapHeaderAttribute("TrustedUserHeaderValue")]
[SoapHeaderAttribute("ServerInfoHeaderValue", Direction = SoapHeaderDirection.Out)]
[SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer/CreateCacheRefreshPlan", 
    RequestNamespace = "https://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", 
    ResponseNamespace = "https://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", 
    Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
public string CreateCacheRefreshPlan(
    string ItemPath,
    string Description,
    string EventType,
    string MatchData,
    ParameterValue[] Parameters
)
public:
[SoapHeaderAttribute("TrustedUserHeaderValue")]
[SoapHeaderAttribute("ServerInfoHeaderValue", Direction = SoapHeaderDirection::Out)]
[SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer/CreateCacheRefreshPlan", 
    RequestNamespace = "https://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", 
    ResponseNamespace = "https://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", 
    Use = SoapBindingUse::Literal, ParameterStyle = SoapParameterStyle::Wrapped)]
String^ CreateCacheRefreshPlan(
    String^ ItemPath,
    String^ Description,
    String^ EventType,
    String^ MatchData,
    array<ParameterValue^>^ Parameters
)
[<SoapHeaderAttribute("TrustedUserHeaderValue")>]
[<SoapHeaderAttribute("ServerInfoHeaderValue", Direction = SoapHeaderDirection.Out)>]
[<SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer/CreateCacheRefreshPlan",
    RequestNamespace = "https://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer",
    ResponseNamespace = "https://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer",
    Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)>]
member CreateCacheRefreshPlan : 
        ItemPath:string *
        Description:string *
        EventType:string *
        MatchData:string *
        Parameters:ParameterValue[] -> string
<SoapHeaderAttribute("TrustedUserHeaderValue")>
<SoapHeaderAttribute("ServerInfoHeaderValue", Direction := SoapHeaderDirection.Out)>
<SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer/CreateCacheRefreshPlan",
    RequestNamespace := "https://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer",
    ResponseNamespace := "https://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer",
    Use := SoapBindingUse.Literal, ParameterStyle := SoapParameterStyle.Wrapped)>
Public Function CreateCacheRefreshPlan (
    ItemPath As String,
    Description As String,
    EventType As String,
    MatchData As String,
    Parameters As ParameterValue()
) As String

Parameters

  • ItemPath
    Type: System.String

    The fully qualified URL of the item with which to associate the cache refresh plan, including the file name and, in SharePoint mode, the extension.

  • Description
    Type: System.String

    The description of the cache refresh plan. If this parameter is set to null (Nothing in Visual Basic), the report server automatically generates a decription.

  • EventType
    Type: System.String

    The type of event that triggers the cache refresh. Currently, the valid value is RefreshCache. If this parameter is set to null (Nothing is Visual Basic), the default value of RefreshCache is used.

  • MatchData
    Type: System.String

    The data that is associated with the specified EventType parameter. This must be a serialized ScheduleDefinition specific to the item in ItemPath, or the schedule ID of a shared schedule.

Return Value

Type: System.String

A string that represents the unique identifier for the cache refresh plan.

Remarks

The table below shows header and permissions information on this operation.

SOAP Header Usage

(In) TrustedUserHeaderValue

(Out) ServerInfoHeaderValue

Native Mode Required Permissions

ReadPolicy AND UpdatePolicy

SharePoint Mode Required Permissions

EditListItems AND ViewListItems

The EventType used to create cache refresh plans is RefreshCache. The MatchData parameter depends on the event type. If the event is a TimedSubscription event, a ScheduleDefinition object is required as the MatchData parameter. You must first serialize the ScheduleDefinition object as XML in order to pass it as a string value and create a cache refresh plan based on the schedule.

You can use the T:System.Xml.XmlSerializer class to convert your object class to an XML string automatically.

Examples

Legacy Code Example

The following example loads a report into the cache and refreshes the cache daily.

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

See Also

ReportingService2010 Class
ReportService2010 Namespace
Cache Shared Datasets (SSRS)
Caching Reports (SSRS)

Return to top