Udostępnij za pośrednictwem


Lekcja 3: Uzyskiwanie dostępu do usługi sieci Web

Po dodaniu odwołania dla usługa sieci Web serwera raportów do projektu, następnym krokiem jest utworzenie wystąpienie klasy proxy usługi sieci Web.Metody usługa sieci Web można uzyskać, wywołując metody klasy proxy.Gdy aplikacja wywołuje te metody, serwer proxy klasy kod generowany przez Visual Studio obsługuje komunikację między aplikacją i usługa sieci Web.

Po pierwsze, utworzy wystąpienie klasy proxy usługa sieci Web, ReportingService2005.Następnie zostanie nawiązywanie połączeń z usługa sieci Web GetProperties Korzystanie z metoda klasy proxyWywołanie użyje do pobrania, nazwa i opis jednego z przykładowych raportów sprzedaży firmy.

Ostrzeżenie

Podczas uzyskiwania dostępu do usługa sieci Web uruchomionej na SQL Server Express z zaawansowanych usług należy dołączyć "$ SQLExpress" do "reportserver" ścieżka.Na przykład:

http://<Server Name>/reportserver$sqlexpress/reportservice2005.asmx"

Dostęp do usługa sieci Web

  1. Obszar nazw należy najpierw dodać do pliku Plik Program.cs (Module1.vb w Visual Basic) przez dodanie using ()Import w Visual Basic) w dyrektywie do pliku kodu.Użyj tej dyrektywy, nie trzeba pełnej kwalifikacji typów w obszarze nazw.

  2. Aby to zrobić, Dodaj następujący kod do początku pliku kodu:

    Imports System
    Imports GetPropertiesSample.ReportService2005
    
    using System;
    using GetPropertiesSample.ReportService2005;
    
  3. Po wprowadzeniu dyrektywy nazw pliku kodu, wprowadź następujący kod w głównym metoda aplikacji konsoli.Upewnij się zmienić nazwę serwera, ustawiając adres Url właściwość usługa sieci web, wystąpienie:

    Sub Main()
       Dim rs As New ReportingService2005
       rs.Credentials = System.Net.CredentialCache.DefaultCredentials
       rs.Url = "http://<Server Name>/reportserver/reportservice2005.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 2008 Sample Reports/Company Sales 2008", 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 Sub
    
    static void Main(string[] args)
    {
       ReportingService2005 rs = new ReportingService2005();
       rs.Credentials = System.Net.CredentialCache.DefaultCredentials;
       rs.Url = "http://<Server Name>/reportserver/reportservice2005.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 2008 Sample Reports/Company Sales 2008",properties);
    
          foreach (Property p in returnProperties)
          {
             Console.WriteLine(p.Name + ": " + p.Value);
          }
       }
    
       catch (Exception e)
       {
          Console.WriteLine(e.Message);
       }
    }
    
  4. Zapisz rozwiązanie.

Instruktaż kod przykładowy używa GetProperties metoda usługa sieci Web, aby pobrać właściwości przykładowy raport 2008 sprzedaży firmy.GetProperties Metoda przyjmuje dwa argumenty: Nazwa raportu, dla której chcesz pobrać informacje o właściwościach i Tablica [właściwość] obiektów, które zawiera nazwy właściwość, których wartości chcesz pobrać.Metoda również zwraca tablicę [Właściwości] obiektów, które zawiera nazwy i wartości właściwości określonego w argumencie właściwości.

Ostrzeżenie

Jeśli podasz pusty [Właściwości] tablicy właściwości argumentu, zwracane są wszystkie dostępne właściwości.

W poprzedniej próbce używa kodu GetProperties Metoda zwraca nazwę i opis przykładowy raport 2008 sprzedaży firmy.Następnie używa kodu foreach pętli zapisać właściwości i wartości do konsoli.

Aby uzyskać więcej informacji o tworzeniu i używaniu klasy proxy dla usługa sieci Web serwera raportów, zobacz Tworzenie serwera Proxy usługi sieci Web.