다음을 통해 공유


ReportingService2005.ListSubscriptions(String, String) 메서드

정의

사용자가 지정된 보고서에 대해 만든 구독의 목록을 반환합니다. 이 목록에는 표준 구독과 데이터 기반 구독이 모두 포함됩니다.

public:
 cli::array <ReportService2005::Subscription ^> ^ ListSubscriptions(System::String ^ Report, System::String ^ Owner);
public ReportService2005.Subscription[] ListSubscriptions (string Report, string Owner);
member this.ListSubscriptions : string * string -> ReportService2005.Subscription[]
Public Function ListSubscriptions (Report As String, Owner As String) As Subscription()

매개 변수

Report
String

보고서의 전체 경로 이름입니다.

Owner
String

구독을 검색할 사용자 이름입니다.

반환

지정된 보고서에 대한 사용자 구독을 나타내는 Subscription 개체의 배열입니다.

예제

다음 코드 예제를 컴파일하려면 Reporting Services WSDL을 참조하고 특정 네임스페이스를 가져와야 합니다. 자세한 내용은 코드 예제 컴파일 및 실행을 참조하세요. 다음 예제 코드에서는 메서드를 ListSubscriptions 사용하여 myDomain\myUserName 사용자가 소유한 Employee Sales Summary 보고서의 구독 목록을 검색합니다.

Imports System  
Imports System.Web.Services.Protocols  

Class Sample  
   Public Shared Sub Main()  
      Dim rs As New ReportingService2005()  
      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  
         subscriptions = rs.ListSubscriptions("/SampleReports/Employee Sales Summary", "myDomain\myUserName")  

         If Not (subscriptions Is Nothing) Then  
            ' Retrieve properties for the first subscription in the list.  
            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.OuterXml)  
      End Try  
   End Sub 'Main  
End Class 'Sample  
using System;  
using System.Web.Services.Protocols;  

class Sample  
{  
   public static void Main()  
   {  
      ReportingService2005 rs = new ReportingService2005();  
      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("/SampleReports/Employee Sales Summary",  
            @"myDomain\myUserName");  

         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);   
      }  
   }  
}  

설명

다음 표에서는 이 작업에 대한 헤더 및 사용 권한 정보를 보여 줍니다.

SOAP 헤더 (Out) ServerInfoHeaderValue
필요한 권한 (ReadSubscription 보고서에서 사용자가 구독 소유자임) OR ReadAnySubscription

Report 매개 변수에 null 대한 Owner (NothingVisual Basic의 경우) 값을 제공할 수 있습니다. 메서드가 ListSubscriptions 반환하는 정보는 제출된 매개 변수에 따라 달라집니다.

  • Report 의 값이 모두 Ownernull면 메서드는 현재 사용자가 볼 수 있는 권한이 있는 모든 보고서에 대한 모든 구독을 반환합니다.

  • 매개 변수만 Owner 제출된 경우 메서드는 지정된 사용자가 만들고 볼 수 있는 권한이 있는 모든 보고서에 대한 모든 구독을 반환합니다.

  • 매개 변수만 Report 제출된 경우 메서드는 현재 사용자가 볼 수 있는 권한이 있는 지정된 보고서의 모든 사용자에 대한 모든 구독을 반환합니다.

  • 매개 변수와 Report 매개 변수 모두 Owner 에 유효한 값이 제공되면 메서드는 지정된 사용자가 만들고 볼 수 있는 권한이 있는 지정된 보고서에 대한 모든 구독을 반환합니다.

적용 대상