ReportingService2010.GetSubscriptionProperties 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
回傳指定訂閱的屬性。
public:
System::String ^ GetSubscriptionProperties(System::String ^ SubscriptionID, [Runtime::InteropServices::Out] ReportService2010::ExtensionSettings ^ % ExtensionSettings, [Runtime::InteropServices::Out] System::String ^ % Description, [Runtime::InteropServices::Out] ReportService2010::ActiveState ^ % Active, [Runtime::InteropServices::Out] System::String ^ % Status, [Runtime::InteropServices::Out] System::String ^ % EventType, [Runtime::InteropServices::Out] System::String ^ % MatchData, [Runtime::InteropServices::Out] cli::array <ReportService2010::ParameterValue ^> ^ % Parameters);
[System.Web.Services.Protocols.SoapDocumentMethod("http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer/GetSubscriptionProperties", 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 GetSubscriptionProperties(string SubscriptionID, out ReportService2010.ExtensionSettings ExtensionSettings, out string Description, out ReportService2010.ActiveState Active, out string Status, out string EventType, out string MatchData, out ReportService2010.ParameterValue[] Parameters);
[<System.Web.Services.Protocols.SoapDocumentMethod("http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer/GetSubscriptionProperties", 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.GetSubscriptionProperties : string * ExtensionSettings * string * ActiveState * string * string * string * ParameterValue[] -> string
Public Function GetSubscriptionProperties (SubscriptionID As String, ByRef ExtensionSettings As ExtensionSettings, ByRef Description As String, ByRef Active As ActiveState, ByRef Status As String, ByRef EventType As String, ByRef MatchData As String, ByRef Parameters As ParameterValue()) As String
參數
- SubscriptionID
- String
訂用帳戶的標識碼。
- ExtensionSettings
- ExtensionSettings
[出]一個 ExtensionSettings 包含特定於交付擴充功能的設定清單的物件。
- Description
- String
[出]一個有意義的描述,會顯示給使用者。
- Active
- ActiveState
[出]一個 ActiveState 包含訂閱有效狀態的物件。
- Status
- String
[出]訂閱狀態。
- EventType
- String
[出]觸發訂閱的事件類型。
- MatchData
- String
[出]與指定事件類型相關的資料。 事件處理擴充功能會用此工具將訂閱與已發生的事件進行匹配。
- Parameters
- ParameterValue[]
[出]一個包含報告參數清單的物件陣列 ParameterValue 。
傳回
訂閱擁有者的使用者 ID。
- 屬性
範例
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;
ExtensionSettings extSettings;
string desc;
ActiveState active;
string status;
string eventType;
string matchData;
ParameterValue[] values = null;
Subscription[] subscriptions = null;
ParameterValueOrFieldReference[] extensionParams = null;
try
{
subscriptions =
rs.ListSubscriptions("http://<Server Name>");
if (subscriptions != null)
{
rs.GetSubscriptionProperties(
subscriptions[0].SubscriptionID, out extSettings,
out desc, out active, out status, out eventType,
out matchData, out values);
Console.WriteLine("Description: {0}", desc);
Console.WriteLine("Status: {0}", status);
Console.WriteLine("EventType: {0}", eventType);
Console.WriteLine("matchData: {0}", matchData);
Console.WriteLine("Extension: {0}",
extSettings.Extension);
extensionParams = extSettings.ParameterValues;
if (extensionParams != null)
{
foreach (ParameterValueOrFieldReference
extensionParam in extensionParams)
{
Console.WriteLine(
((ParameterValue)extensionParam).Name
+ ": " + ((ParameterValue)
extensionParam).Value);
}
}
if (values != null)
{
foreach (ParameterValue pv in values)
{
Console.WriteLine("Name: {0}", pv.Name);
Console.WriteLine("Value: {0}", pv.Value);
}
}
}
}
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 extSettings As ExtensionSettings
Dim desc As String
Dim active As ActiveState
Dim status As String
Dim eventType As String
Dim matchData As String
Dim values As ParameterValue() = Nothing
Dim subscriptions As Subscription() = Nothing
Dim extensionParams As ParameterValueOrFieldReference() = Nothing
Try
Dim site As String = "http://<Server Name>"
subscriptions = rs.ListSubscriptions(site)
If Not (subscriptions Is Nothing) Then
rs.GetSubscriptionProperties( _
subscriptions(0).SubscriptionID, extSettings, _
desc, active, status, eventType, matchData, _
values)
Console.WriteLine("Description: {0}", desc)
Console.WriteLine("Status: {0}", status)
Console.WriteLine("EventType: {0}", eventType)
Console.WriteLine("matchData: {0}", matchData)
Console.WriteLine("Extension: {0}", _
extSettings.Extension)
extensionParams = extSettings.ParameterValues
If Not (extensionParams Is Nothing) Then
Dim extensionParam As _
ParameterValueOrFieldReference
For Each extensionParam In extensionParams
Console.WriteLine((CType(extensionParam, _
ParameterValue).Name + ": " + _
CType(extensionParam, ParameterValue).Value))
Next extensionParam
End If
If Not (values Is Nothing) Then
Dim pv As ParameterValue
For Each pv In values
Console.WriteLine("Name: {0}", pv.Name)
Console.WriteLine("Value: {0}", pv.Value)
Next pv
End If
End If
Catch e As SoapException
Console.WriteLine(e.Detail.InnerXml.ToString())
End Try
End Sub
End Class
備註
下表顯示此操作的標頭與權限資訊。
| SOAP 標頭的使用 | (在) TrustedUserHeaderValue (出局) ServerInfoHeaderValue |
| 原生模式所需權限 | (ReadSubscription 在報告上且用戶是訂閱擁有者)或 ReadAnySubscription |
| SharePoint 模式 必要權限 | <xref:Microsoft.SharePoint.SPBasePermissions.ManageAlerts> 或者(<xref:Microsoft.SharePoint.SPBasePermissions.CreateAlerts> 且使用者是訂閱擁有者) |