ReportingService2010.ListMySubscriptions(String) ReportingService2010.ListMySubscriptions(String) ReportingService2010.ListMySubscriptions(String) Method

定义

检索报表服务器或 SharePoint 网站的当前用户为给定目录项创建的订阅列表。 Retrieves a list of subscriptions that have been created by the current user of the report server or SharePoint site for the given catalog item.

public:
 cli::array <ReportService2010::Subscription ^> ^ ListMySubscriptions(System::String ^ ItemPathOrSiteURL);
[System.Web.Services.Protocols.SoapDocumentMethod("http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer/ListMySubscriptions", 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 ReportService2010.Subscription[] ListMySubscriptions (string ItemPathOrSiteURL);
Public Function ListMySubscriptions (ItemPathOrSiteURL As String) As Subscription()
参数
ItemPathOrSiteURL
String String String

站点或项的完全限定 URL,其中包括文件名(在 SharePoint 模式下,还有扩展名)。 The fully qualified URL of the site or item including the file name and, in SharePoint mode, the extension. 如果指定报表服务器 URL 或 SharePoint 站点 URL,则返回给定服务器或站点的当前用户的所有订阅。 If a report server URL or SharePoint site URL is specified, all subscriptions of the current user at the given server or site is returned.

返回

数组Subscription包含的所有订阅当前用户的报表服务器或 SharePoint 网站上的给定的目录项的对象。 An array of Subscription objects that contain all the subscriptions for the current user of the report server or SharePoint site for the given catalog item.

示例

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.ListMySubscriptions("http://<Server Name>");  

            if (subscriptions != null)  
            {  
                // Retrieve properties for the first   
                // subscription in the list.  
                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.OuterXml);  
        }  
    }  
}  
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.ListMySubscriptions(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  

注解

下表显示了有关此操作的标头和权限信息。The table below shows header and permissions information on this operation.

SOAP 标头使用情况SOAP Header Usage (In) TrustedUserHeaderValue(In) TrustedUserHeaderValue

(Out) ServerInfoHeaderValue(Out) ServerInfoHeaderValue
纯模式所需的权限Native Mode Required Permissions InclusionThresholdSettingNone
SharePoint 模式所需的权限SharePoint Mode Required Permissions InclusionThresholdSettingNone

在本机模式下,如果ItemPathOrSiteURL为文件夹,此方法返回该路径下的报表用户具有权限的以下权限的用户拥有的所有订阅:ReadAnySubscription或者 ((ReadSubscription以及用户是否是订阅所有者和订阅是定时的订阅)。In native mode, if ItemPathOrSiteURL is a folder, this method returns all subscriptions owned by the user for reports under that path to which user has the following permissions: ReadAnySubscription OR ((ReadSubscription AND the user is the subscription owner and the subscription is a timed subscription). 如果ItemPathOrSiteURL是报表,则此方法返回归该用户满足该报表的权限要求在同一组的所有订阅。If ItemPathOrSiteURL is a report, then this method returns all subscriptions owned by the user that satisfy the same set of permissions requirements for that report.

在 SharePoint 集成模式下,如果ItemPathOrSiteURL是站点或一个文件夹中,此方法返回由该路径下的报表用户具有权限的以下权限的用户拥有的所有订阅: ManageAlerts OR (CreateAlerts以及用户是否订阅所有者和订阅处于定时的订阅)。In SharePoint integrated mode, if ItemPathOrSiteURL is a site or a folder, this method returns all subscriptions owned by the user for reports under that path to which user has the following permissions: ManageAlerts OR (CreateAlerts AND the user is the subscription owner and the subscription is a timed subscription). 如果ItemPathOrSiteURL是报表,则此方法返回归该用户满足该报表的权限要求在同一组的所有订阅。If ItemPathOrSiteURL is a report, then this method returns all subscriptions owned by the user that satisfy the same set of permissions requirements for that report.

如果对于给定的站点,一个空会找出任何订阅Subscription返回的数组。If no subscriptions are found for the given site, an empty Subscription array is returned.

适用于