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

订阅 ID。

ExtensionSettings
ExtensionSettings

[out] 一个 ExtensionSettings 对象,该对象包含特定于传递扩展插件的设置列表。

Description
String

[out] 向用户显示的贴切描述。

Active
ActiveState

[out] 一个包含订阅的活动状态的 ActiveState 对象。

Status
String

[out] 订阅的状态。

EventType
String

[out] 触发订阅的事件的类型。

MatchData
String

[out] 与指定类型的事件关联的数据。 它由事件处理扩展插件使用,以将订阅与已发生的事件进行匹配。

Parameters
ParameterValue[]

[out] 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 标头用法 (In) TrustedUserHeaderValue

(Out) ServerInfoHeaderValue
本机模式所需权限 报表上的 (ReadSubscription ,并且用户是订阅所有者) 或 ReadAnySubscription
SharePoint 模式所需权限 <xref:Microsoft.SharePoint.SPBasePermissions.ManageAlerts> 或 (<xref:Microsoft.SharePoint.SPBasePermissions.CreateAlerts> 且用户是订阅所有者)

适用于