語言

ReportingService2010.GetSubscriptionProperties 方法

定義

回傳指定訂閱的屬性。

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> 且使用者是訂閱擁有者)

適用於