Метод CreateCacheRefreshPlan
Создает план обновления кэша для элемента. Этот метод применим к элементам типа Report и Dataset.
Пространство имен: ReportService2010
Сборка: ReportService2010 (в ReportService2010.dll)
Синтаксис
'Декларация
<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
'Применение
Dim instance As ReportingService2010
Dim ItemPath As String
Dim Description As String
Dim EventType As String
Dim MatchData As String
Dim Parameters As ParameterValue()
Dim returnValue As String
returnValue = instance.CreateCacheRefreshPlan(ItemPath, _
Description, EventType, MatchData, _
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)]
public string CreateCacheRefreshPlan(
string ItemPath,
string Description,
string EventType,
string MatchData,
ParameterValue[] Parameters
)
[SoapHeaderAttribute(L"TrustedUserHeaderValue")]
[SoapHeaderAttribute(L"ServerInfoHeaderValue", Direction = SoapHeaderDirection::Out)]
[SoapDocumentMethodAttribute(L"https://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer/CreateCacheRefreshPlan", RequestNamespace = L"https://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer",
ResponseNamespace = L"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,
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
public function CreateCacheRefreshPlan(
ItemPath : String,
Description : String,
EventType : String,
MatchData : String,
Parameters : ParameterValue[]
) : String
Параметры
- ItemPath
Тип: System. . :: . .String
Полный URL-адрес элемента, с которым связывается план обновления кэша, включая имя файла, а также (в режиме интеграции с SharePoint) расширение.
- Description
Тип: System. . :: . .String
Описание плана обновления кэша. Если данный параметр имеет значение NULL (Nothing в Visual Basic), то сервер отчетов создает расшифровку автоматически.
- EventType
Тип: System. . :: . .String
Тип события, которое вызывает обновление кэша. В текущей версии допускается только значение RefreshCache. Если данный параметр имеет значение NULL (Nothing в Visual Basic), то используется значение по умолчанию RefreshCache.
- MatchData
Тип: System. . :: . .String
Данные, связанные с указанным параметром EventType. Это должен быть сериализованный объект ScheduleDefinition, относящийся к элементу в ItemPath, или идентификатор общего расписания.
- Parameters
Тип: array<ReportService2010. . :: . .ParameterValue> [] () [] []
Массив объектов ParameterValue, содержащий список параметров, заданных в ItemPath.
Возвращаемое значение
Тип: System. . :: . .String
Значение типа String, представляющее уникальный идентификатор плана обновления кэша.
Замечания
The table below shows header and permissions information on this operation.
SOAP Header Usage |
(Out) ServerInfoHeaderValue |
Native Mode Required Permissions |
|
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 XmlSerializer class to convert your object class to an XML string automatically.
Примеры
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