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:
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 в отчете И пользователь является владельцем подписки) ИЛИ ReadAnySubscription |
Можно указать null
значение (Nothing
в Visual Basic) для Owner
параметров и Report
. Сведения, возвращаемые методом ListSubscriptions , зависят от отправленных параметров:
Если значения и
Owner
Report
имеют значениеnull
, метод возвращает все подписки для всех отчетов, на просмотр которых у текущего пользователя есть разрешение.Если отправляется только
Owner
параметр , метод возвращает все подписки для всех отчетов, созданных указанным пользователем и имеющим разрешение на просмотр.Если отправляется только
Report
параметр , метод возвращает все подписки для всех пользователей указанного отчета, на просмотр которого у текущего пользователя есть разрешение.Если для параметра и
Report
заданыOwner
допустимые значения, метод возвращает все подписки на указанный отчет, созданный указанным пользователем и имеющий разрешение на просмотр.