Udostępnij za pośrednictwem


Wskazówki: łączenie z danymi w usłudze sieciowej (formularze systemu Windows)

W tym instruktażu pokazano, jak połączyć się z aplikacji do usługi sieci web przy użyciu Kreator konfiguracji źródła danych.Będzie się łączyć z usługą sieci web usługi Live Search i uruchamiania kwerend wyszukiwania z aplikacji.Dane zwrócone przez usługę (wyniki wyszukiwania) będą wyświetlane w formularzu systemu Windows.

W tym instruktażu zadania obejmują:

  • Tworzenie nowego Aplikacji Windows projektu.

  • Dodawanie odwołania usługi do aplikacji (połączenie z usługą Live Search).

  • Dodawanie formantów do uruchamiania kwerend wyszukiwania (wywołanie metody udostępniane przez usługę).

  • Pisanie kodu w celu uzyskania dostępu do usługi i zwracać dane.

  • Wiązanie danych zwróconych z usługi do parametru BindingSource.

  • Służy do wyświetlania danych zwróconych z usługi w siatce.

Uzyskiwanie AppID

Identyfikator aplikacji z usługi Live Search jest dostępne bezpłatnie i jednoznacznie identyfikuje aplikację do usługi Live Search.Identyfikator AppID jest wymagany do uzyskania dostępu do usługi.

Aby uzyskać identyfikator AppID

  • Przejdź do http://search.live.com/developer i Uzyskaj bezpłatne AppID

    [!UWAGA]

    Dla AppID do sprawdzania poprawności z usługą może zająć trochę czasu (30-60 minut).Jeśli napotkasz rodzajowy 'Błąd klienta"w ramach tego czasu podczas uruchamiania aplikacji, jest prawdopodobne, że identyfikator AppID jest wciąż w trakcie włączonych na serwerach usługi Live Search.

Tworzenie projektu

Aby utworzyć nowy projekt

  1. Z pliku menu, tworzenie nowego projektu.

  2. Wybierz Aplikacji Windows Forms i nadaj mu nazwę WebServiceWalkthrough.

  3. Click OK.

    Utworzone i dodane do projektu Solution Explorer.

Łączenie z usługą

Połączenia z usługą sieci web, uruchamiając Kreatora konfiguracji źródła danych.

  1. Na danych menu, kliknij przycisk Pokaż źródeł danych.

  2. W Źródła danych okno select Dodać nowe źródło danych.

  3. Wybierz usługi na Wybierz typ źródła danych stronę, a następnie kliknij przycisk Dalej.

  4. Typ https://soap.search.msn.com/webservices.asmx?wsdl w URL w polu Dodać odwołanie do usługi okno dialogowe.

  5. Click Go.

  6. Po usługi sieci Web zostanie znaleziony, należy zmienić w obszarze nazw: LiveSearchService.

  7. Kliknij przycisk OK, a następnie kliknij przycisk Zakończenie dodać odwołanie do usługi do swojego projektu.

    Odwołanie do usługi jest dodawany do projektu oraz Źródła danych okno jest wypełniane na podstawie zapasów zwróconych przez usługę.

[!UWAGA]

Ponieważ usługi sieci web różnych narazić różnych funkcji, kolejne kroki w tym instruktażu są specyficzne dla usługi Live Search w sieci web używające.Typowy proces używające danych z usługi jest do utworzenia wystąpienia usługi, a następnie wywołać metody udostępniane przez usługę.Po przeciągnięciu elementów w oknie źródła danych formularza powinien zawierać składnik BindingSource; Ustaw DataSource właściwość, aby dane zwracane przez usługę.

Tworzenie DataGridView do wyświetlania danych zwróconych przez usługę

Tworzenie siatki danych dane powiązane przez przeciąganie elementów z Źródła danych okno formularza.Po dodaniu siatki, należy skonfigurować kolumny, aby wyświetlić tylko kolumny, które chcemy, aby przedstawić.Następnie ustaw kolumny adres Url łącza, więc użytkownicy mogą kliknąć adres url i przejdź do witryny sieci web zwróconego przez kwerendę wyszukiwania.

Aby utworzyć formant DataGridView powiązanym z danymi

  1. Rozwiń węzeł SearchResponse węzeł w Źródła danych okna.

  2. Rozwiń węzeł odpowiedzi węzła.

  3. Przeciągnij wyniki węzeł do formularza.

    Formant DataGridView, źródła BindingSource i BindingNavigator są dodawane do formularza.

  4. Wybierz resultsDataGridView, który został dodany do formularza.

  5. W Właściwości okno Wybierz kolumny właściwości i kliknij przycisk wielokropek (…), aby otworzyć Edytuj kolumny, okno dialogowe (Widok Projekt).

  6. Wybierz Url kolumny oraz zestawu:

    1. Typ_kolumny właściwość, aby DataGridViewLinkColumn.

    2. AutoSizeMode właściwość, aby AllCells.

  7. Usuń wszystkie kolumny, z wyjątkiem Tytuł, Opis, i Url kolumny.

  8. Click OK.

Dodawanie formantów do wprowadzania kryteriów wyszukiwania i uruchamianie kwerendy wyszukiwania

Dodawanie formantów do istniejącego pasek narzędzi do uruchamiania kwerend wyszukiwania.

Aby dodać pola tekstowego i przycisku do formularza

  1. Kliknij prawym przyciskiem myszy ikonę dysku wygaszone na pasek narzędzi formularza i wybierz polecenie Wstaw, a po nim pole tekstowe.

  2. W Właściwości okno, ustawić Nazwa właściwość, aby searchCriteriaTextBox.

  3. Ustaw tekst właściwość do programu Visual Studio.

  4. Dodawanie przycisku na pasku narzędzi i nadaj mu nazwę searchButton.

  5. W Właściwości okno, ustawić DisplayStyle właściwość, aby tekst.

  6. Ustaw tekst właściwości do wyszukiwania.

Tworzenie programu obsługi zdarzeń, aby otworzyć witrynę sieci Web kliknięty w siatce

Dodawanie obsługi zdarzenia CellContentClick zdarzenia.

Aby utworzyć moduł obsługi zdarzeń CellContentClick

  1. Wybierz resultsDataGridView w formularzu i kliknij przycisk zdarzeń w Właściwości okna.Przycisk zdarzenia jest dostępny z ikonę świecącego pioruna.

  2. Kliknij dwukrotnie CellContentClick zdarzenie, aby utworzyć i przejdź do procedury obsługi wejścia.

  3. Dodaj kod, aby sprawdzić, która kolumna został kliknięty i przejść do strony sieci web, po kliknięciu kolumny adres Url:

    Private Sub ResultsDataGridView_CellContentClick( _
        ByVal sender As System.Object, _
        ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) _
        Handles ResultsDataGridView.CellContentClick
    
        ' When the content in a cell is clicked check to see if it is the Url column. 
        ' If it is, pass the url to the Process.Start method to open the web page. 
        If ResultsDataGridView.Columns(e.ColumnIndex).DataPropertyName = "Url" Then
            System.Diagnostics.Process.Start(ResultsDataGridView.SelectedCells(0).Value)
        End If 
    End Sub
    
    private void resultsDataGridView_CellContentClick(object sender, DataGridViewCellEventArgs e)
    {
        // When the content in a cell is clicked check to see if it is the Url column. 
        // If it is, pass the url to the Process.Start method to open the web page. 
        if (resultsDataGridView.Columns[e.ColumnIndex].DataPropertyName == "Url")
        {
            System.Diagnostics.Process.Start(resultsDataGridView.SelectedCells[0].Value.ToString());
        }
    }
    

Dodawanie kodu do uzyskania dostępu do usługi Live Search i uruchomić kwerendę wyszukiwania

Dostęp do usługi przez instancji usługi w aplikacji i wywoływania metod, udostępniane przez usługę.

Dostęp do i zużywają usługi

  1. Otwórz formularz Form1 w edytorze kodu.

  2. Dodaj następujące metody do formularza Form1:

    Private Sub RunSearchRequest()
    
        ' Create an instance of the service. 
        Dim searchService As New LiveSearchService.MSNSearchPortTypeClient
    
        ' Instantiate a new SearchRequest. 
        Dim searchRequest As New LiveSearchService.SearchRequest
    
        ' Create a new SourceRequest. 
        Dim sourceRequest(1) As LiveSearchService.SourceRequest
        sourceRequest(0) = New LiveSearchService.SourceRequest
    
        ' To search the web, set the SourceType to Web.
        sourceRequest(0).Source = LiveSearchService.SourceType.Web
    
        ' Set the columns you want the query to return.
        sourceRequest(0).ResultFields = _
            LiveSearchService.ResultFieldMask.Description And _
            LiveSearchService.ResultFieldMask.Url And _
            LiveSearchService.ResultFieldMask.Title
    
        ' Search for the text in the textbox.
        searchRequest.Query = searchCriteriaTextBox.Text
    
        ' Set the SearchRequest to the SourceRequest array.
        searchRequest.Requests = sourceRequest
    
    
        ' Replace with a valid AppID. Obtain a free AppID at: 
        ' http://search.live.com/developer 
        searchRequest.AppID = "AppID"
        searchRequest.CultureInfo = "en-US" 
    
        ' Create a SearchResponse, then call the Search method 
        ' and assign the return value to the response object. 
        Dim searchResponse As LiveSearchService.SearchResponse = _
            searchService.Search(searchRequest)
    
        ' Bind the results to the form's BindingSource.
        ResultsBindingSource.DataSource = searchResponse.Responses(0).Results
    End Sub
    
    private void RunSearchRequest()
    {
        // Create an instance of the service.
        LiveSearchService.MSNSearchPortTypeClient searchService =
            new LiveSearchService.MSNSearchPortTypeClient();
    
        // Instantiate a new search request.
        LiveSearchService.SearchRequest searchRequest = new LiveSearchService.SearchRequest();
    
        // Create a new SourceRequest.
        LiveSearchService.SourceRequest[] sourceRequest = new LiveSearchService.SourceRequest[1];
        sourceRequest[0] = new LiveSearchService.SourceRequest();
    
        // Set the number of results to return.
        sourceRequest[0].Count = 7;
    
        // To search the web, set the SourceType to Web.
        sourceRequest[0].Source = LiveSearchService.SourceType.Web;
    
        // Set the columns to be returned from the search query.
        sourceRequest[0].ResultFields = LiveSearchService.ResultFieldMask.Description |
            LiveSearchService.ResultFieldMask.Url |
            LiveSearchService.ResultFieldMask.Title;
    
        // Set the search query to the value in the text box.
        searchRequest.Query = searchCriteriaTextBox.Text;
    
        // Set the search request to the array of source requests.
        searchRequest.Requests = sourceRequest;
    
        // Replace with a valid AppID. Obtain a free AppID at: 
        // http://search.live.com/developer 
        searchRequest.AppID = "AppID";
        searchRequest.CultureInfo = "en-US";
    
        // Create a SearchResponse, then call the search method 
        // and assign the return value to the response object.
        LiveSearchService.SearchResponse searchResponse = searchService.Search(searchRequest);
    
        // Bind the results from the search query to the form's BindingSource.
        resultsBindingSource.DataSource = searchResponse.Responses[0].Results;
    }
    

[!UWAGA]

Pamiętaj zastąpić searchRequest.AppID = "Identyfikator AppID" z wartością AppID uzyskanych z usługi Live Search.

Tworzenie programu obsługi zdarzeń, aby uruchomić wyszukiwanie, po kliknięciu przycisku wyszukiwania

Utworzyć procedurę obsługi zdarzenia dla zdarzenia searchButton.Click, a następnie wywołać metodę RunSearchRequest.

Aby zaimplementować wyszukiwanie po kliknięciu przycisku

  1. Otwórz formularz Form1 w widoku Projekt.

  2. Kliknij dwukrotnie wyszukiwania przycisku.

  3. Dodaj następujący wiersz kodu wygenerowanego obsługi:

    Private Sub searchButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles searchButton.Click
        RunSearchRequest()
    End Sub
    
    private void searchButton_Click(object sender, EventArgs e)
    {
        RunSearchRequest();
    }
    

Z uruchomioną aplikacją

Uruchom aplikację, a następnie przeprowadzić wyszukiwanie.

Aby uruchomić aplikację i wykonaj wyszukiwanie

  1. Uruchom aplikację (naciśnij klawisz F5).

  2. Kliknij przycisk wyszukiwania do wyszukiwania w sieci web Programu Visual Studio, domyślny tekst w searchCriteriaTextBox.

    Siatka wyświetla pierwsze wyniki wyszukiwania dziesięć.

  3. Kliknij jeden z adresów URL, aby przejść do tej witryny sieci web.

  4. Typ Pogodowych WA Redmond w polu tekstowym i kliknij przycisk wyszukiwania.

    Aktualizacje siatki z nowych wyników wyszukiwania.

Następne kroki

Uzyskiwanie dostępu do usługi Live Search jest przeznaczona tylko jako punkt początkowy zrozumieć sposób wyświetlania danych zwróconych z usługi, wykorzystując funkcji wiązania danych w aplikacji Windows Forms.Po nawiązaniu połączenia z różnych usług i po przeciąganie elementów z Źródła danych okno formularza powinien zawierać składnik BindingSource; Ustaw DataSource właściwość, aby dane zwracane przez usługę.Aby uzyskać więcej informacji, zobacz BindingSource — Informacje o składniku.

[!UWAGA]

Elementy, które pojawiają się w Źródła danych okna są zależne od usługi sieci Web zwraca informacje.Niektóre usługi sieci Web mogą nie dostarczać wystarczających informacji dla Kreatora konfiguracji źródła danych do tworzenia obiektów, które można powiązać.Na przykład, jeśli usługa sieci Web zwraca obiekt nie dostarcza żadnych wykrywalne schematu, a następnie pojawią się żadne elementy w Źródła danych okno na Kończenie pracy kreatora.

Aby dodać funkcjonalność aplikacji

Zobacz też

Koncepcje

Powiązywanie kontrolek z danymi w Visual Studio

Edytowanie danych w aplikacji

Sprawdzanie poprawności danych

Zapisywanie danych

Inne zasoby

Wskazówki dotyczące danych