Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
После добавления ссылки на веб-службу сервера отчетов в проект необходимо создать экземпляр прокси-класса веб-службы. Затем можно получить доступ к методам веб-службы, вызвав методы в прокси-классе. Когда приложение вызывает эти методы, код класса прокси, созданный Visual Studio, обрабатывает обмен данными между приложением и веб-службой.
Сначала вы создадите экземпляр прокси-класса ReportingService2010веб-службы. Затем вызовите метод веб-службы GetProperties с помощью прокси-класса. Вы будете использовать вызов для получения имени и описания одного из примеров отчетов, продажи компании.
Замечание
При доступе к веб-службе, работающей в SQL Server Express с расширенными службами, необходимо добавить "$SQLExpress" в путь "ReportServer". Рассмотрим пример.
http://<Server Name>/reportserver$sqlexpress/reportservice2010.asmx"
Доступ к веб-службе
Сначала необходимо добавить пространство имен в файл Program.cs (Module1.vb в Visual Basic), добавив
usingдирективу (Importsв Visual Basic) в файл кода. Если вы используете эту директиву, вам не нужно полностью квалифицировать типы в пространстве имен.Для этого добавьте следующий код в начало файла кода:
Imports System Imports GetPropertiesSample.ReportService2010using System; using GetPropertiesSample.ReportService2010;После ввода директивы пространства имен в файл кода введите следующий код в метод Main консольного приложения. При настройке свойства URL-адреса экземпляра веб-службы обязательно измените имя сервера:
Sub Main() Dim rs As New ReportingService2010 rs.Credentials = System.Net.CredentialCache.DefaultCredentials rs.Url = "http://<Server Name>/reportserver/reportservice2010.asmx" Dim name As New [Property] name.Name = "Name" Dim description As New [Property] description.Name = "Description" Dim properties(1) As [Property] properties(0) = name properties(1) = description Try Dim returnProperties As [Property]() = rs.GetProperties( _ "/AdventureWorks 2012 Sample Reports/Company Sales 2012", properties) Dim p As [Property] For Each p In returnProperties Console.WriteLine((p.Name + ": " + p.Value)) Next p Catch e As Exception Console.WriteLine(e.Message) End Try End Substatic void Main(string[] args) { ReportingService2010 rs = new ReportingService2010(); rs.Credentials = System.Net.CredentialCache.DefaultCredentials; rs.Url = "http://<Server Name>/reportserver/reportservice2010.asmx"; Property name = new Property(); name.Name = "Name"; Property description = new Property(); description.Name = "Description"; Property[] properties = new Property[2]; properties[0] = name; properties[1] = description; try { Property[] returnProperties = rs.GetProperties( "/AdventureWorks 2012 Sample Reports/Company Sales 2012",properties); foreach (Property p in returnProperties) { Console.WriteLine(p.Name + ": " + p.Value); } } catch (Exception e) { Console.WriteLine(e.Message); } }Сохраните решение.
В пошаговом руководстве пример кода используется GetProperties метод веб-службы для получения свойств примера отчета , Company Sales 2012. Метод GetProperties принимает два аргумента: имя отчета, для которого требуется получить сведения о свойствах и массив объектов Property[] , содержащих имена свойств, значения которых требуется извлечь. Метод также возвращает массив объектов Property[] , содержащих имена и значения свойств, указанных в аргументе свойств.
Замечание
Если указать пустой массив Property[] для аргумента свойств, возвращаются все доступные свойства.
В предыдущем примере код использует GetProperties метод для возврата имени и описания примера отчета , Company Sales 2012. Затем код использует foreach цикл для записи свойств и значений в консоль.
Дополнительные сведения о создании и использовании прокси-класса для веб-службы сервера отчетов см. в статье "Создание прокси-сервера веб-службы".
См. также
Урок 4. Запуск приложения (VB-VC#)
Доступ к веб-службе сервера отчетов с помощью Visual Basic или Visual C# (руководство по SSRS)