Instruktaż: Łączenie do danych w usłudze sieci Web (Windows Forms)
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
Z pliku menu, tworzenie nowego projektu.
Wybierz Aplikacji Windows Forms i nadaj mu nazwę WebServiceWalkthrough.
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.
Aby połączyć się z usługą sieci web usługi Live Search
Na danych menu, kliknij przycisk Pokaż źródeł danych.
W Źródła danych okno select Dodać nowe źródło danych.
Wybierz usługi na Wybierz typ źródła danych stronę, a następnie kliknij przycisk Dalej.
Typ https://soap.search.msn.com/webservices.asmx?wsdl w URL w polu Dodać odwołanie do usługi okno dialogowe.
Click Go.
Po usługi sieci Web zostanie znaleziony, należy zmienić w obszarze nazw: LiveSearchService.
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
Rozwiń węzeł SearchResponse węzeł w Źródła danych okna.
Rozwiń węzeł odpowiedzi węzła.
Przeciągnij wyniki węzeł do formularza.
Formant DataGridView, źródła BindingSource i BindingNavigator są dodawane do formularza.
Wybierz resultsDataGridView, który został dodany do formularza.
W Właściwości okno Wybierz kolumny właściwości i kliknij przycisk wielokropek (…), aby otworzyć Edytuj kolumny, okno dialogowe (Widok Projekt).
Wybierz Url kolumny oraz zestawu:
Typ_kolumny właściwość, aby DataGridViewLinkColumn.
AutoSizeMode właściwość, aby AllCells.
Usuń wszystkie kolumny, z wyjątkiem Tytuł, Opis, i Url kolumny.
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
Kliknij prawym przyciskiem myszy ikonę dysku wygaszone na pasek narzędzi formularza i wybierz polecenie Wstaw, a po nim pole tekstowe.
W Właściwości okno, ustawić Nazwa właściwość, aby searchCriteriaTextBox.
Ustaw tekst właściwość do programu Visual Studio.
Dodawanie przycisku na pasku narzędzi i nadaj mu nazwę searchButton.
W Właściwości okno, ustawić DisplayStyle właściwość, aby tekst.
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
Wybierz resultsDataGridView w formularzu i kliknij przycisk zdarzeń w Właściwości okna.Przycisk zdarzenia jest dostępny z ikonę świecącego pioruna.
Kliknij dwukrotnie CellContentClick zdarzenie, aby utworzyć i przejdź do procedury obsługi wejścia.
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
Otwórz formularz Form1 w edytorze kodu.
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
Otwórz formularz Form1 w widoku Projekt.
Kliknij dwukrotnie wyszukiwania przycisku.
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
Uruchom aplikację (naciśnij klawisz F5).
Kliknij przycisk wyszukiwania do wyszukiwania w sieci web Programu Visual Studio, domyślny tekst w searchCriteriaTextBox.
Siatka wyświetla pierwsze wyniki wyszukiwania dziesięć.
Kliknij jeden z adresów URL, aby przejść do tej witryny sieci web.
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 Składnik BindingSource, omówienie.
[!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
Zaznaczanie elementów w Źródła danych okna i przeciągnij je na formularzu.Aby uzyskać więcej informacji, zobacz Wiązanie formantów Windows Forms do danych w programie Visual Studio.
W formularzu, należy utworzyć wystąpienie usługi.
Ustaw wygenerowanej DataSource właściwość, aby dane zwracane przez usługę sieci web.
Zobacz też
Koncepcje
Wiązanie formantów z danych w programie Visual Studio
Sprawdzanie poprawności danych