ReportingService2010.CreateCacheRefreshPlan 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
항목에 대한 캐시 새로 고침 계획을 만듭니다. 이 메서드는 Report
및 Dataset
항목 유형에 적용됩니다.
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 |
기본 모드 필수 권한 | ReadPolicy 및 UpdatePolicy |
SharePoint 모드 필수 권한 | <xref:Microsoft.SharePoint.SPBasePermissions.EditListItems> 및 <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> |
EventType
캐시 새로 고침 계획을 만드는 데 사용되는 는 입니다RefreshCache
. 매개 변수는 MatchData
이벤트 유형에 따라 달라집니다. 이벤트가 이벤트인 TimedSubscription
경우 개체가 ScheduleDefinition 매개 변수로 MatchData
필요합니다. 개체를 ScheduleDefinition 문자열 값으로 전달하고 일정에 따라 캐시 새로 고침 계획을 만들려면 먼저 개체를 XML로 직렬화해야 합니다.
클래스를 System.Xml.Serialization.XmlSerializer 사용하여 개체 클래스를 XML 문자열로 자동으로 변환할 수 있습니다.