다음을 통해 공유


ReportingService2010.CreateCacheRefreshPlan 메서드

정의

항목에 대한 캐시 새로 고침 계획을 만듭니다. 이 메서드는 ReportDataset 항목 유형에 적용됩니다.

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

매개 변수

ItemPath
String

캐시 새로 고침 계획과 연결할 항목의 정규화된 URL이며 파일 이름과 SharePoint 모드에서는 확장명을 포함합니다.

Description
String

캐시 새로 고침 계획에 대한 설명입니다. 이 매개 변수를 null(Visual Basic의 경우 Nothing)로 설정하면 보고서 서버가 자동으로 설명을 생성합니다.

EventType
String

캐시 새로 고침을 트리거하는 이벤트의 유형입니다. 현재 유효한 값은 RefreshCache입니다. 이 매개 변수를 null(Visual Basic의 경우 Nothing)로 설정하면 기본값 RefreshCache가 사용됩니다.

MatchData
String

지정된 EventType 매개 변수와 연결된 데이터입니다. 이 항목은 의 항목 ItemPath또는 공유 일정의 일정 ID와 관련된 직렬화 ScheduleDefinition 되어야 합니다.

Parameters
ParameterValue[]

에 지정된 ItemPath항목에 ParameterValue 대한 매개 변수 목록을 포함하는 개체의 배열입니다.

반환

캐시 새로 고침 계획의 고유 식별자를 나타내는 string입니다.

특성

예제

다음 예제에서는 보고서를 캐시에 로드하고 매일 캐시를 새로 고칩니다.

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  

설명

다음 표에서는 이 작업에 대한 헤더 및 사용 권한 정보를 보여 줍니다.

SOAP 헤더 사용 (In) TrustedUserHeaderValue

(Out) ServerInfoHeaderValue
기본 모드 필수 권한 ReadPolicyUpdatePolicy
SharePoint 모드 필수 권한 <xref:Microsoft.SharePoint.SPBasePermissions.EditListItems> 및 <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems>

EventType 캐시 새로 고침 계획을 만드는 데 사용되는 는 입니다RefreshCache. 매개 변수는 MatchData 이벤트 유형에 따라 달라집니다. 이벤트가 이벤트인 TimedSubscription 경우 개체가 ScheduleDefinition 매개 변수로 MatchData 필요합니다. 개체를 ScheduleDefinition 문자열 값으로 전달하고 일정에 따라 캐시 새로 고침 계획을 만들려면 먼저 개체를 XML로 직렬화해야 합니다.

클래스를 System.Xml.Serialization.XmlSerializer 사용하여 개체 클래스를 XML 문자열로 자동으로 변환할 수 있습니다.

적용 대상