ReportingService2010.GetSubscriptionProperties 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
返回指定订阅的属性。
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> 且用户是订阅所有者) |