Aracılığıyla paylaş


İzlenecek yol: Bir Web Hizmetindeki Verilere Bağlanma (Windows Forms)

Bu izlenecek yolda uygulamanız için bir web hizmetini kullanarak bağlanmak gösterilmiştir Veri Kaynağı Yapılandırma Sihirbazı.Live Search web hizmetine bağlanmak ve uygulamanızdan arama sorguları çalıştırmak.(Arama sonuçları) hizmeti tarafından döndürülen verilerin bir Windows formunda görüntülenir.

Bu izlenecek yolda gösterilen görevler aşağıdakileri içerir:

  • Yeni oluşturma Windows Application proje.

  • Bir uygulamaya hizmet başvurusu ekleniyor (Live Search hizmetine bağlanın.)

  • Arama sorguları (arama servisinin harekete geçirdiği yöntemleri) çalıştırmak için denetimleri ekleme.

  • Hizmete erişmek ve veri döndürmek için kod yazmak.

  • BindingSource hizmetinden döndürülen veri bağlama.

  • Izgarada hizmetinden döndürülen verileri görüntüleyin.

Bir uygulama kimliği alma

Live Search gelen bir AppID ücretsiz olarak kullanılabilir ve uygulamanıza Live Search hizmeti benzersiz olarak tanımlar.AppID hizmete erişmek için gereklidir.

Bir uygulama kimliği edinmek için

  • Gidin http://search.live.com/developer ve ücretsiz AppID alın

    [!NOT]

    AppID hizmetiyle doğrulamak için onu (30-60 dakika) olarak biraz zaman alabilir.Genel 'istemci hata' Bu içinde karşılaştığınız, AppID Live Search sunucularda hala etkinleştirilen sürecinde olduğunu olası olduğu uygulama çalışırken zaman.

Projeyi Oluşturma

Yeni bir proje oluşturmak için

  1. Dan Dosya menüsünde, yeni bir proje yaratın.

  2. Seçin Windows Forms uygulamasý ve WebServiceWalkthrough.

  3. Tamam düğmesini tıklatın.

    Proje oluşturulur ve eklenen Solution Explorer.

Hizmete bağlanmada

Çalıştırarak web servisine baðlanmak Data Source Configuration Wizard.

Live Search web hizmetine bağlanmak için

  1. Üzerinde veri menüsünde,'ı Show Data Sources.

  2. İçinde Veri kaynakları pencere, seçme Add New Data Source.

  3. Seçin hizmet üzerinde veri kaynağı türü seçin sayfa ve'ı İleri.

  4. Türü https://soap.search.msn.com/webservices.asmx?wsdl , url kutusunda Add Reference hizmet iletişim kutusu.

  5. Git'i tıklatın.

  6. Web hizmeti bulunduktan sonra ad değiştirme: LiveSearchService.

  7. Tıklatın Tamamve ardından Son hizmet başvurusu projenize eklemek için.

    Hizmet başvurusu projesine eklenir ve Veri kaynakları pencere doldurulan hizmet tarafından döndürülen öğelere göre.

[!NOT]

Farklı işlevler farklı web hizmetlerini açığa çıkaran çünkü bu izlenecek yolun sonraki adımlarda Live Search web servisini kullanmak için özeldir.Tüketen bir hizmetten veri için tipik hizmetinin bir örneğini oluşturup servisinin harekete geçirdiği yöntemleri çağırmak için işlemidir.Veri kaynakları penceresinden öğeleri sürükledikten sonra formunuza bir BindingSource bileşeni içermelidir; set DataSource hizmeti tarafından döndürülen verilerin özelliği.

Hizmet tarafından döndürülen verileri görüntülemek için bir DataGridView oluşturma

Öğeleri sürükleyerek bir veri bağlantısı veri kılavuzu oluşturmak Veri kaynakları forma pencere.Kılavuz ekledikten sonra yalnızca sunmak istediğiniz sütunları görüntülemek için sütunları yapılandırır.Böylece kullanıcılar URL'yi tıklatın ve arama sorgu tarafından döndürülen web sitelerine gidin Url sütun bağlantı ayarlayın.

Veriye bağlı DataGridView oluşturmak için

  1. Genişletme SearchResponse düğümünde Veri kaynakları pencere.

  2. Genişletme yanıtları düğüm.

  3. Sürükle sonuçları forma düğüm.

    DataGridView, BindingSource ve BindingNavigator forma eklenir.

  4. Forma eklenmiş olan resultsDataGridView seçin.

  5. İçinde özellikleri pencere Seç Sütunlar özelliğini açmak için üç nokta (…) tıklatın ve Düzenle sütunlar iletişim kutusu (Tasarım görünümü).

  6. Seçin Url sütun ve ayarlama:

    1. ColumnType özelliğine DataGridViewLinkColumn.

    2. AutoSizeMode özelliğine AllCells.

  7. Dışında tüm sütunları kaldırmak başlık, Açıklama, ve Url sütunlar.

  8. Tamam düğmesini tıklatın.

Arama ölçütünü temizleme ve arama sorgusu çalıştırma için denetimler ekleme

Arama sorguları çalıştırmak için varolan araç şeridi denetimleri ekleyin.

Forma metin kutusu ve düğmesi eklemek için

  1. Formun araç şeridindeki gri disk simgesini sağ tıklatın ve TextBox tarafından ve ardından Ekle'yi seçin.

  2. İçinde özelliklerini penceresinde, ad özelliğine searchCriteriaTextBox.

  3. Set metin özelliği Visual Studio.

  4. Toolstrip bir düğme ekleyin ve searchButton.

  5. İçinde özelliklerini penceresinde, DisplayStyle özelliğine metin.

  6. Set metin arama özelliği.

Kılavuzda tıklattığınız Web sitesi açmak için bir olay işleyicisi oluşturma

Bir olay işleyicisi ekleyin CellContentClick olay.

CellContentClick olay işleyicisi oluşturmak için

  1. Formdaki resultsDataGridView seçin ve Events düğmesini tıklayın özelliklerini pencere.Events düğmesini şimşek simgesi simgenin düğme vardır.

  2. Çift tıklatma CellContentClick olay işleyicisi saplama gezinmek için.

  3. Hangi sütunun tıklandığını denetlemek ve Url sütununu tıklattıysanız, web sayfasına gitmek için kodu ekleyin:

    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());
        }
    }
    

Canlı arama hizmetine erişim ve arama sorgusu çalıştırmak için kod ekleme

Hizmet uygulamanızdaki hizmetinin bir örneğini başlatmasını ve servisinin harekete geçirdiği yöntemleri çağırmadan erişin.

Erişmek ve servisini kullanmak için

  1. Form1, Kod Düzenleyicisi'nde açın.

  2. Aşağıdaki yöntem Form1 ekleyin:

    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;
    }
    

[!NOT]

SearchRequest.AppID emin olun "AppID" Live Search hizmetinden alınan AppID değeri =.

Arama düğmesi tıklatıldığında bir aramayı başlatmak için bir olay işleyicisi oluşturma

SearchButton.Click olayı için bir olay işleyici yaratın ve RunSearchRequest yöntemini çağırın.

Düğme tıklatıldığında arama uygulamak için

  1. Açık Form1 Tasarım görünümünde.

  2. Çift tıklatma Arama düğme.

  3. Oluşturulan işleyicisinde aşağıdaki kod satırını ekleyin:

    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();
    }
    

Uygulamayı çalıştırma

Uygulamayı çalıştırın ve bir arama gerçekleştirin.

Uygulamayı çalıştırın ve bir arama gerçekleştirmek için

  1. Uygulama (F5 tuşuna basın) çalıştırın.

  2. Tıklatın Arama için Web'de arama yapmak için Visual Studio, searchCriteriaTextBox varsayılan metin.

    Kılavuz ilk on arama sonuçlarını görüntüler.

  3. Web sitesine gitmek için URL'leri birini tıklatın.

  4. Tür Redmond, wa, hava tıklatın ve metin kutusu içindeki Arama.

    Yeni arama sonuçları kılavuz güncelleştirmelerle.

Sonraki Adımlar

Live Search hizmeti erişme Windows Forms uygulamalarında veri bağlama özelliklerini kullanan hizmetinden döndürülen verileri görüntüleyecek şekilde nasıl anlamak için yalnızca bir başlangıç noktası olarak amaçlanmıştır.Başka bir hizmete bağlanırken sonra öğeleri sürükleyerek Veri kaynakları penceresi formunuzu bir BindingSource bileşeni; içermelidir set DataSource hizmeti tarafından döndürülen verilerin özelliği.Daha fazla bilgi için bkz. BindingSource Bileşenine Genel Bakış.

[!NOT]

Görünür öğe Veri kaynakları pencere Web hizmeti veren bilgi bağımlı.Bazı Web Hizmetleri için yeterli bilgi sağlayabilir değil Data Source Configuration Wizard bağlanabilir nesneleri oluşturmak için.Örneğin, Web hizmetinin bir nesne döndürüyorsa bulunabilir herhangi bir şema sağlamaz sonra hiçbir öğe görünür Veri kaynakları kuralını sihirbazdan çıktıktan sonra pencere.

Uygulamanız için işlevsellik eklemek için

Ayrıca bkz.

Kavramlar

Visual Studio'da Verilere Denetimler Bağlama

Uygulamanızdaki Verileri Düzenleme

Verileri Doğrulama

Verileri Kaydetme

Diğer Kaynaklar

Veri İzlenecek Yollar