ReportingService2010.CreateSubscription Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Membuat langganan untuk item yang ditentukan dalam database server laporan atau pustaka SharePoint. Metode ini berlaku untuk Report
jenis item.
public:
System::String ^ CreateSubscription(System::String ^ ItemPath, ReportService2010::ExtensionSettings ^ ExtensionSettings, 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/CreateSubscription", 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("ServerInfoHeaderValue", Direction=System.Web.Services.Protocols.SoapHeaderDirection.Out)]
[System.Web.Services.Protocols.SoapHeader("TrustedUserHeaderValue")]
public string CreateSubscription (string ItemPath, ReportService2010.ExtensionSettings ExtensionSettings, string Description, string EventType, string MatchData, ReportService2010.ParameterValue[] Parameters);
[<System.Web.Services.Protocols.SoapDocumentMethod("http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer/CreateSubscription", 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("ServerInfoHeaderValue", Direction=System.Web.Services.Protocols.SoapHeaderDirection.Out)>]
[<System.Web.Services.Protocols.SoapHeader("TrustedUserHeaderValue")>]
member this.CreateSubscription : string * ReportService2010.ExtensionSettings * string * string * string * ReportService2010.ParameterValue[] -> string
Public Function CreateSubscription (ItemPath As String, ExtensionSettings As ExtensionSettings, Description As String, EventType As String, MatchData As String, Parameters As ParameterValue()) As String
Parameter
- ItemPath
- String
URL item yang sepenuhnya memenuhi syarat termasuk nama file dan, dalam mode SharePoint, ekstensi.
- ExtensionSettings
- ExtensionSettings
Objek ExtensionSettings yang berisi daftar pengaturan yang khusus untuk ekstensi pengiriman.
- Description
- String
Deskripsi yang bermakna yang ditampilkan kepada pengguna.
- EventType
- String
Jenis peristiwa yang memicu langganan. Nilai yang valid adalah TimedSubscription
atau SnapshotUpdated
.
- MatchData
- String
Data yang terkait dengan parameter yang ditentukan EventType
. Parameter ini digunakan oleh peristiwa untuk mencocokkan langganan dengan peristiwa yang telah diaktifkan.
- Parameters
- ParameterValue[]
Array ParameterValue objek yang berisi daftar parameter untuk item.
Mengembalikan
ID langganan yang secara unik mengidentifikasi langganan di database server laporan atau pustaka SharePoint.
- Atribut
Contoh
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 = "Send to Document Library";
string eventType = "TimedSubscription";
string scheduleXml =
@"<ScheduleDefinition>" +
" <StartDateTime>2003-02-24T09:00:00-08:00" +
" </StartDateTime>" +
" <WeeklyRecurrence>" +
" <WeeksInterval>1</WeeksInterval>" +
" <DaysOfWeek>" +
" <Monday>True</Monday>" +
" </DaysOfWeek>" +
" </WeeklyRecurrence>" +
"</ScheduleDefinition>";
ParameterValue[] extensionParams = new ParameterValue[6];
extensionParams[0] = new ParameterValue();
extensionParams[0].Name = "RENDER_FORMAT";
extensionParams[0].Value = "EXCEL";
extensionParams[1] = new ParameterValue();
extensionParams[1].Name = "FILENAME";
extensionParams[1].Value = "Sales Order Detail";
extensionParams[2] = new ParameterValue();
extensionParams[2].Name = "FILEEXTN";
extensionParams[2].Value = "True";
extensionParams[3] = new ParameterValue();
extensionParams[3].Name = "PATH";
extensionParams[3].Value = "http://<Server Name>" +
"/Docs/Documents/AdventureWorks Sample Reports/";
extensionParams[4] = new ParameterValue();
extensionParams[4].Name = "WRITEMODE";
extensionParams[4].Value = "Overwrite";
extensionParams[5] = new ParameterValue();
extensionParams[5].Name = "AUTOCOPY";
extensionParams[5].Value = "False";
string matchData = scheduleXml;
ExtensionSettings extSettings = new ExtensionSettings();
extSettings.ParameterValues = extensionParams;
extSettings.Extension = "Report Server DocumentLibrary";
try
{
rs.CreateSubscription(report, extSettings, desc,
eventType, matchData, 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 = "Send to Document Library"
Dim eventType As String = "TimedSubscription"
Dim scheduleXml As String = _
"<ScheduleDefinition>" + _
" <StartDateTime>2003-02-24T09:00:00-08:00</StartDateTime>" + _
" <WeeklyRecurrence>" + _
" <WeeksInterval>1</WeeksInterval>" + _
" <DaysOfWeek>" + _
" <Monday>True</Monday>" + _
" </DaysOfWeek>" + _
" </WeeklyRecurrence>" + _
"</ScheduleDefinition>"
Dim extensionParams(6) As ParameterValue
extensionParams(0) = New ParameterValue()
extensionParams(0).Name = "RENDER_FORMAT"
extensionParams(0).Value = "EXCEL"
extensionParams(1) = New ParameterValue()
extensionParams(1).Name = "FILENAME"
extensionParams(1).Value = "Sales Order Detail"
extensionParams(2) = New ParameterValue()
extensionParams(2).Name = "FILEEXTN"
extensionParams(2).Value = "True"
extensionParams(3) = New ParameterValue()
extensionParams(3).Name = "PATH"
extensionParams(3).Value = "http://<Server Name>" + _
"/Docs/Documents/AdventureWorks Sample Reports/"
extensionParams(4) = New ParameterValue()
extensionParams(4).Name = "WRITEMODE"
extensionParams(4).Value = "Overwrite"
extensionParams(5) = New ParameterValue()
extensionParams(5).Name = "AUTOCOPY"
extensionParams(5).Value = "False"
Dim matchData As String = scheduleXml
Dim extSettings As New ExtensionSettings()
extSettings.ParameterValues = extensionParams
extSettings.Extension = "Report Server DocumentLibrary"
Try
rs.CreateSubscription(report, extSettings, desc, _
eventType, matchData, Nothing)
Catch e As SoapException
Console.WriteLine(e.Detail.InnerXml.ToString())
End Try
End Sub
End Class
Keterangan
Tabel di bawah ini memperlihatkan informasi header dan izin pada operasi ini.
Penggunaan Header SOAP | (Dalam) TrustedUserHeaderValue (Keluar) ServerInfoHeaderValue |
Izin Yang Diperlukan Mode Asli | ExecuteAndView DAN (CreateAnySubscription ATAU CreateSubscription) |
Izin yang Diperlukan Mode SharePoint | <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> DAN (<xref:Microsoft.SharePoint.SPBasePermissions.ManageAlerts> ATAU <xref:Microsoft.SharePoint.SPBasePermissions.CreateAlerts>) |
Anda dapat menggunakan GetExtensionSettings metode untuk mengambil daftar pengaturan yang diperlukan untuk ekstensi pengiriman. Anda harus meneruskan nilai untuk pengaturan yang diperlukan ini ExtensionSettings
dalam parameter . Untuk informasi tentang pengaturan pengiriman email, lihat Pengaturan Ekstensi Pengiriman Reporting Services.
Nilai EventType
parameter harus sesuai dengan peristiwa yang dikonfigurasi untuk server laporan. Dua peristiwa yang digunakan untuk membuat langganan adalah TimedSubscription
dan SnapshotUpdated
. ListEvents Gunakan metode untuk mengembalikan daftar semua peristiwa yang dikonfigurasi untuk server laporan.
Nilai MatchData
parameter tergantung pada jenis peristiwa. Jika peristiwa adalah TimedSubscription
peristiwa, ScheduleDefinition objek diperlukan sebagai MatchData
parameter . Anda harus terlebih dahulu membuat serialisasi ScheduleDefinition objek sebagai XML untuk meneruskannya sebagai nilai string dan membuat langganan berdasarkan jadwal. Struktur XML mungkin menyerupai yang ada dalam contoh berikut:
<ScheduleDefinition>
<WeeklyRecurrence>
<StartDateTime>2004-06-24T09:00:00-08:00</StartDateTime>
<WeeksInterval>1</WeeksInterval>
<DaysOfWeek>
<Monday>True</Monday>
</DaysOfWeek>
</WeeklyRecurrence>
</ScheduleDefinition>
Nilai StartDateTime elemen saat diteruskan sebagai string XML harus sesuai dengan format tanggal ISO 8601. Standar tanggal dan waktu internasional ini adalah format diperpanjang CCYY-MM-DDThh:mm:ss+/-Z di mana "CC" mewakili abad, "YY" tahun, "MM" bulan dan "DD" hari itu. Huruf "T" adalah pemisah tanggal dan waktu dan "hh", "mm", "ss" masing-masing mewakili jam, menit, dan detik. Representasi ini dapat segera diikuti oleh "Z" untuk menunjukkan Waktu Universal Terkoordinasi (UTC). Untuk menunjukkan zona waktu, direpresentasikan sebagai perbedaan antara waktu setempat dan Waktu Universal Terkoordinasi, "Z" didahului oleh tanda "+" atau "-", diikuti oleh perbedaan dari UTC yang diwakili sebagai hh:mm.
Jika definisi jadwal untuk adalah TimedSubscription
jadwal bersama, Anda harus meneruskan ID jadwal jadwal bersama sebagai MatchData
parameter . ID jadwal diteruskan sebagai String
, misalnya, "4608ac1b-fc75-4149-9e15-5a8b5781b843". ID jadwal dapat diperoleh dengan memanggil ListSchedules metode .
Anda dapat menggunakan System.Xml.Serialization.XmlSerializer kelas untuk mengonversi kelas objek Anda menjadi string XML secara otomatis.
Jika acara adalah SnapshotUpdated
langganan, nilainya MatchData
harus null
(atau Nothing
di Visual Basic).
Ketika metode ini digunakan, metode ini akan mengatur LastExecutedSpecified properti langganan ke false
, Status properti langganan ke new subscription
, dan semua properti objek langganan Activeke false
. Properti ModifiedBy dan ModifiedDate laporan juga diperbarui.
Jadwal apa pun yang ditentukan dalam MatchData
parameter harus berada di situs yang sama dan ItemPath
.