ReportingService2010.ListChildren(String, Boolean) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает список дочерних элементов указанной папки.
public:
cli::array <ReportService2010::CatalogItem ^> ^ ListChildren(System::String ^ ItemPath, bool Recursive);
[System.Web.Services.Protocols.SoapDocumentMethod("http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer/ListChildren", 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.CatalogItem[] ListChildren (string ItemPath, bool Recursive);
[<System.Web.Services.Protocols.SoapDocumentMethod("http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer/ListChildren", 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")>]
member this.ListChildren : string * bool -> ReportService2010.CatalogItem[]
Public Function ListChildren (ItemPath As String, Recursive As Boolean) As CatalogItem()
Параметры
- ItemPath
- String
Полный путь к родительской папке.
- Recursive
- Boolean
Выражение типа Boolean
, которое показывает, нужно ли возвращать полное дерево дочерних элементов для указанного элемента. Значение по умолчанию — false
.
Примечание. Установка для этого параметра значения true
в режиме SharePoint может значительно снизить производительность приложения.
Возвращаемое значение
Массив объектов CatalogItem. Если дочерние элементы не существуют, этот метод возвращает пустой массив.
- Атрибуты
Примеры
Чтобы скомпилировать следующий пример кода, необходимо ссылаться на Reporting Services WSDL и импортировать определенные пространства имен. Дополнительные сведения см. в разделе Примеры компиляции и выполнения кода. В следующем примере кода метод используется ListChildren для чтения содержимого корня дерева каталогов сервера отчетов, а затем сохраняет первый элемент и его свойства в виде XML-документа:
Imports System
Imports System.IO
Imports System.Text
Imports System.Web.Services.Protocols
Imports System.Xml
Imports System.Xml.Serialization
Class Sample
Public Shared Sub Main()
Dim rs As New ReportingService2010()
rs.Credentials = System.Net.CredentialCache.DefaultCredentials
Dim items As CatalogItem() = Nothing
' Retrieve a list of all items from the report server database.
Try
items = rs.ListChildren("/", True)
Catch e As SoapException
Console.WriteLine(e.Detail.InnerXml.ToString())
End Try
' Serialize the contents as an XML document and write the contents to a file.
Try
Dim fs As New FileStream("CatalogItems.xml", FileMode.Create)
Dim writer As New XmlTextWriter(fs, Encoding.Unicode)
Dim serializer As New XmlSerializer(GetType(CatalogItem()))
serializer.Serialize(writer, items)
Console.WriteLine("Server contents successfully written to a file.")
Catch e As Exception
Console.WriteLine(e.Message)
End Try
End Sub 'Main
End Class 'Sample
using System;
using System.IO;
using System.Text;
using System.Web.Services.Protocols;
using System.Xml;
using System.Xml.Serialization;
class Sample
{
public static void Main()
{
ReportingService2010 rs = new ReportingService2010();
rs.Credentials = System.Net.CredentialCache.DefaultCredentials;
CatalogItem[] items = null;
// Retrieve a list of all items from the report server database.
try
{
items = rs.ListChildren("/", true);
}
catch (SoapException e)
{
Console.WriteLine(e.Detail.OuterXml);
}
// Serialize the contents as an XML document and write the contents to a file.
try
{
FileStream fs = new FileStream("CatalogItems.xml", FileMode.Create);
XmlTextWriter writer = new XmlTextWriter(fs, Encoding.Unicode);
XmlSerializer serializer = new XmlSerializer(typeof(CatalogItem[]));
serializer.Serialize(writer, items);
Console.WriteLine("Server contents successfully written to a file.");
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
}
Комментарии
В следующей таблице показаны сведения о заголовках и разрешениях для этой операции.
Использование заголовка SOAP | (In) TrustedUserHeaderValue (Out) ServerInfoHeaderValue |
Необходимые разрешения в собственном режиме | ReadProperties для Item |
Необходимые разрешения в режиме Интеграции с SharePoint | <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> |
Этот метод возвращает только дочерние элементы, которые пользователь имеет разрешение на просмотр. Возвращаемые элементы могут представлять не полный список дочерних элементов указанного родительского элемента.
Если этот метод вызывается в корне базы данных сервера отчетов с включенным параметром "Мои отчеты", метод возвращает массив CatalogItem объектов , содержащих свойства для папки "Мои отчеты". Если пользователь является анонимным и мои отчеты включены, свойства для моих отчетов не возвращаются при вызове этого метода в корневом каталоге.
Этот метод может возвращать VirtualPath свойство элементов в базе данных сервера отчетов, поддерживающих виртуальные пути. Виртуальный путь — это путь, по которому пользователь ожидает увидеть элемент. Например, у отчета с именем "Отчет1", расположенного в личной папке пользователя "Мои отчеты", виртуальный путь равен "/Мои отчеты". Фактический путь к элементу — /Users/Username/My Reports.
Большинство свойств, возвращаемых этим методом, доступны только для чтения. Дополнительные сведения о свойствах элементов в Reporting Services см. в разделе Свойства элемента сервера отчетов.