Aracılığıyla paylaş


İzlenecek yol: Silverlight denetimlerini bir wcf veri hizmetine bağlama

Bu izlenecek yolda, veriye bağlı denetimler içeren bir Silverlight uygulaması yaratacaksınız.Müşteri kayıtları aracılığıyla erişilebilen denetimlerin bağlı olduğu bir WCF Veri Hizmeti.

Bu örneklerde aşağıdaki görevler gösterilir:

  • Oluşturma bir Varlık Veri Modeli AdventureWorksLT örnek veritabanındaki verilerden oluşturulur.

  • Oluşturma bir WCF Veri Hizmeti veri sergiler Varlık Veri Modeli bir Silverlight uygulaması için.

  • Çalışan Data Source Configuration Wizard dolduran veri hizmetine bağlanmak için Veri kaynakları pencere.

  • Öğeleri sürükleyerek veriye bağlı denetimler kümesi oluşturma Veri kaynakları penceresine Silverlight Tasarımcısı.

  • İleriye ve geriye doğru kayıtlar arasında gezinme düğmeleri oluşturma.

    [!NOT]

    Bilgisayarınızda, aşağıdaki yönergelerde yer alan Visual Studio kullanıcı arabirimi öğelerinden bazılarının adı veya konumu farklı gösterilebilir. Bu öğeleri bilgisayarınızdaki Visual Studio sürümü ve kullandığınız ayarlar belirler. Daha fazla bilgi için bkz: Visual Studio ayarları.

Önkoşullar

Bu örneği tamamlamak için aşağıdaki bileşenler gerekmektedir:

  • Visual Studio

  • Çalışan bir örneği için erişim SQL Server veya kendisine bağlı AdventureWorksLT örnek veritabanı olan sql Server Express.AdventureWorksLT veritabanından karşıdan yükleyebileceğiniz CodePlex Web sitesi.

Aşağıdaki kavramlar, önceki bilgisi de yararlı, ancak bu izlenecek yolu tamamlamak için gerekli değildir:

Hizmeti projesi oluşturma

Bu izlenecek yolda, boş web uygulama projesinde ana yaratmakla baþlayalým bir WCF Veri Hizmeti.

Hizmeti projesi oluşturmak için

  1. Dosya menüsünde, Yeni'nin üzerine gelin ve Proje'ye tıklatın.

  2. Genişletme Visual C# veya Visual Basicseçip Web.

  3. Seçin Boş ASP proje şablonu.

  4. İçinde ad kutusuna yazın AdventureWorksWebApp 'ı Tamam.

Hizmet için varlık veri modeli oluşturma

Uygulama verileri kullanarak göstermek için bir WCF Veri Hizmeti, hizmet için bir veri modeli tanımlanmalıdır.Bu izlenecek yolda, oluşturma bir Varlık Veri Modeli.

Varlık veri modeli oluşturmak için

  1. Proje menüsünde, Yeni Öğe Ekle'yi tıklatın.

  2. Seçin ado.net varlık veri modeli proje öğesi.

  3. Adını değiştirmek AdventureWorksDataModel.edmxve i Ekle.

    Varlık veri modeli Sihirbazı açar.

  4. Üzerinde Modeli içeriği seçin sayfasında,'ı veritabanından Generate[NULL]'ı İleri.

  5. Üzerinde Choose Your Data Connection sayfasında, aşağıdaki seçeneklerden birini seçin:

    • Aşağı açılan listesinde AdventureWorksLT örnek veritabanı için bir veri bağlantısı varsa, bunu seçin.

      or

    • ' I Yeni bir bağlantı ve AdventureWorksLT veritabanına bir bağlantı oluşturun.

  6. Doğrulamak varlık Web.Config dosyasındaki bağlantı ayarlarını kaydetmek seçeneği seçili değilse ve i İleri.

  7. Üzerinde Choose Your Database Objects sayfasında, genişletme Tabloseçip Müşteri tablo.

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

Hizmeti oluşturuluyor

Oluşturma bir WCF Veri Hizmeti verileri göstermek için Varlık Veri Modeli.

Hizmet oluşturulamadı

  1. Üzerinde Proje menüsünde, select Add New Item.

  2. Seçin wcf veri hizmeti proje öğesi.

  3. İçinde ad kutusuna yazın AdventureWorksDataService.svc 'ı Ekle.

Hizmet yapılandırma

Hizmet üzerinde çalışmak üzere yapılandırmalısınız Varlık Veri Modeli , oluşturduğunuz.

Hizmeti yapılandırmak için

  1. De AdventureWorksDataService.svc kod dosyası, yerine AdventureWorksDataService sınıf bildirimi aşağıdaki kodla:

    Public Class AdventureWorksDataService
        Inherits DataService(Of AdventureWorksLTEntities)
    
        ' This method is called only once to initialize service-wide policies.
        Public Shared Sub InitializeService(ByVal config As DataServiceConfiguration)
            config.SetEntitySetAccessRule("*", EntitySetRights.All)
            config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V2
        End Sub
    
    End Class
    
    public class AdventureWorksDataService : DataService<AdventureWorksLTEntities>
    {
        // This method is called only once to initialize service-wide policies.
        public static void InitializeService(DataServiceConfiguration config)
        {
            config.SetEntitySetAccessRule("*", EntitySetRights.All);
            config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V2;
        }
    }
    
  2. Projeyi derleyin ve hatasız olarak oluşturulur doğrulayın.

Silverlight uygulaması oluşturma

Yeni bir Silverlight uygulaması oluşturun ve sonra hizmete erişmek için bir veri kaynağı ekleyin.

Silverlight uygulaması oluşturmak için

  1. İçinde Solution Explorer, çözüm düğümünü sağ tıklatın,'ı Ekleve Yeni bir proje.

  2. İçinde Yeni bir proje iletişim kutusunda, genişletme Visual C# veya Visual Basicseçip Silverlight.

  3. Seçin Silverlight uygulaması proje şablonu.

  4. İçinde ad kutusuna yazın AdventureWorksSilverlightApp 'ı Tamam.

  5. İçinde Yeni bir Silverlight uygulaması iletişim kutusunu tıklatın Tamam.

Silverlight uygulaması için veri kaynağı ekleme

Hizmet tarafından döndürülen verilerine dayanan bir veri kaynağı oluşturun.

Veri kaynağı oluşturmak için

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

  2. İçinde Veri kaynakları penceresinde tıklatın Add New Data Source.

    Veri Kaynağı Yapılandırma Sihirbaz'ı açılır.

  3. İçinde veri kaynağı türü seçin Sihirbazı'nı seçin, sayfa hizmetsonraki.

  4. İçinde Add Reference hizmet iletişim kutusunu tıklatın bulma.

    Visual Studiokullanılabilir hizmetler için geçerli çözüm arar ve ekler AdventureWorksDataService.svc 'de sunulan hizmetler listesine Hizmetleri kutusu.

  5. İçinde ad kutusuna yazın AdventureWorksService.

  6. İçinde Hizmetleri kutusuna AdventureWorksDataService.svcTamam.

  7. İçinde Add Reference hizmet sayfasında,'ı Son.

    Visual Studio hizmeti tarafından döndürülen verilerin temsil düğümler ekler Veri kaynakları pencere.

Pencereyi kullanıcı arabirim tanımlama

Değiştirerek pencere düğmeleri eklemek XAML , Silverlight Tasarımcısı.

Pencere düzeni oluşturmak için

  1. İçinde Solution Explorer'da, MainPage.xaml'ı çift tıklatın.

    Açılır pencere Silverlight Tasarımcısı.

  2. De XAML Tasarımcısı görüntülemek için arasında aşağıdaki kodu ekleyip <Grid> etiketler:

    <Grid.RowDefinitions>
        <RowDefinition Height="75" />
        <RowDefinition Height="525" />
    </Grid.RowDefinitions>
    <Button HorizontalAlignment="Left" Margin="22,20,0,24" Name="backButton" Width="75" Content="&lt;"></Button>
    <Button HorizontalAlignment="Left" Margin="116,20,0,24" Name="nextButton" Width="75" Content="&gt;"></Button>
    
  3. Projeyi yapılandırın.

Veriye bağlı denetimler oluşturma

Sürükleyerek müşteri kayıtlarını görüntüleyen denetimler oluşturma müşterilerin düğümden Veri kaynakları designer penceresi.

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

  1. İçinde Veri kaynakları penceresinde, aşağı açılan menüsünü müşterilerin düğümünü seçip alt Ayrıntıları.

  2. Genişletme müşterilerin düğümü.

  3. Bu örnek, bazı alanlar görüntülenmez bu nedenle aşağıdaki düğümler yanındaki aşağı açılan menüyü tıklatıp seçin yok:

    • NameStyle

    • PasswordHash

    • PasswordSalt

    • ROWGUID

    Bu engeller Visual Studio Tasarımcısı atlanmasına gelen bu düğümler için ebeveyn denetimleri oluşturma.Bu izlenecek yolda, son kullanıcı bu verileri görmek istemediği varsayılır.

  4. Dan Veri kaynakları penceresinde, Sürükle müşterilerin tasarımcısı düğmeleri altında düğüm.

    Visual Studiooluşturduğu XAML ve müşteri verileriyle ilişkili denetimleri kümesini oluşturan kod.

Hizmetinden verileri yüklemek

Verileri yüklemek için bu hizmeti kullanın ve sonra döndürülen verileri denetimlerin bağlı olduğu veri kaynağı atayabilirsiniz.

Hizmetinden verileri yüklemek için

  1. Tasarımcıda düğmelerinden birini yanındaki boş bir alanı tıklatın.

  2. İçinde özelliklerini penceresinde doğrulayın UserControl seçilir ve sonra tıklatın olayları sekmesi.

  3. Bulun Loaded olay ve çift tıklatın.

  4. Kod dosyasında açar (MainPage.xaml) aşağıdaki using (C#) veya Imports (Visual Basic) deyimi:

    Imports System.Windows.Data
    Imports AdventureWorksSilverlightApp.AdventureWorksService
    
    using System.Windows.Data;
    using AdventureWorksSilverlightApp.AdventureWorksService;
    
  5. Olay işleyicisini aşağıdaki kodla değiştirin.Oturdum emin localhost bu kodda adresiyle geliştirme bilgisayarınızda yerel ana bilgisayar adresi:

    Private advWorksService As AdventureWorksLTEntities
    Private customersViewSource As CollectionViewSource
    
    Private Sub UserControl_Loaded(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles MyBase.Loaded
        advWorksService = New AdventureWorksLTEntities(New Uri("https://localhost:6188/AdventureWorksDataService.svc"))
        customersViewSource = Me.Resources("CustomersViewSource")
        advWorksService.Customers.BeginExecute(Sub(result As IAsyncResult)
                                                   customersViewSource.Source = advWorksService.Customers.EndExecute(result)
                                               End Sub, Nothing)
    End Sub
    
    private AdventureWorksLTEntities advWorksService;
    private System.Windows.Data.CollectionViewSource customersViewSource;
    
    private void UserControl_Loaded(object sender, RoutedEventArgs e)
    {
        advWorksService = new AdventureWorksLTEntities(new Uri("https://localhost:54961/AdventureWorksDataService.svc"));
    
        customersViewSource = this.Resources["customersViewSource"]
        as System.Windows.Data.CollectionViewSource;
        advWorksService.Customers.BeginExecute(result => customersViewSource.Source = advWorksService.Customers.EndExecute(result), null);
    }
    

Uygulamayı Test Etme

Yapı ve müşteri kayıtlarını görüntüleyebilirsiniz doğrulamak için uygulamayı çalıştırın.

Uygulamayı test etmek için

  1. Üzerinde Build menüsünde,'ı Build Solution.Çözümünüzün hatasız oluşturulduğunu doğrulayın.

  2. F5'e basın.

  3. İlk kayıt Müşteriler tablosunda görünür doğrulayın.

  4. Uygulamayý kapatýn.

    [!NOT]

    Bir hata varsa, bu kod ASP geliştirme sunucunuz için doğru bağlantı noktası içerir doğrulayın.

Kayıtlar arasında gezinme

Kullanarak kayıtlar arasında kaydırma sağlayan kod eklemek < ve > düğmeler.

Satış Kayıtlarda gezinmek kullanıcıları etkinleştirmek için

  1. Tasarımcı ve çift MainPage.xaml açık < düğme.

  2. Oluşturulan yerine backButton_Click yerine aşağıdaki kodu olay işleyicisi:

    Private Sub backButton_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles backButton.Click
        customersViewSource.View.MoveCurrentToPrevious()
        If customersViewSource.View.IsCurrentBeforeFirst Then
            customersViewSource.View.MoveCurrentToFirst()
        End If
    End Sub
    
    private void backButton_Click(object sender, RoutedEventArgs e)
    {
        customersViewSource.View.MoveCurrentToPrevious();
        if (customersViewSource.View.IsCurrentBeforeFirst)
            customersViewSource.View.MoveCurrentToFirst();
    }
    
  3. Dönmek için designer ve çift > düğme.

    Visual StudioArkadaki kod dosyası açar ve yeni bir oluşturur nextButton_Click olay işleyicisi.

  4. Oluşturulan yerine nextButton_Click yerine aşağıdaki kodu olay işleyicisi:

    Private Sub nextButton_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles nextButton.Click
        customersViewSource.View.MoveCurrentToNext()
        If customersViewSource.View.IsCurrentAfterLast Then
            customersViewSource.View.MoveCurrentToLast()
        End If
    End Sub
    
    private void nextButton_Click(object sender, RoutedEventArgs e)
    {
        customersViewSource.View.MoveCurrentToNext();
        if (customersViewSource.View.IsCurrentAfterLast)
            customersViewSource.View.MoveCurrentToLast();
    }
    

Uygulamayı Test Etme

Oluşturmak ve görüntülemek ve müşteri kayıtlarını gidin doğrulamak için uygulamayı çalıştırın.

Uygulamayı test etmek için

  1. Üzerinde Build menüsünde,'ı Build Solution.Çözümünüzün hatasız oluşturulduğunu doğrulayın.

  2. F5'e basın.

  3. İlk kayıt Müşteriler tablosunda görünür doğrulayın.

  4. ' I < ve > geri gidin ve müşteri kayıtları iletmek için düğmeler.

  5. Uygulamayý kapatýn.

    [!NOT]

    Bir hata varsa, bu kod ASP geliştirme sunucunuz için doğru bağlantı noktası içerir doğrulayın.

Sonraki Adımlar

Bu izlenecek yolda tamamladıktan sonra aşağıdaki görevleri gerçekleştirebilirsiniz:

  • Değişiklikleri veritabanına geri kaydetmek öğrenin.Daha fazla bilgi için bkz: Veri baðlama.

  • Daha fazla özellikleri kullanarak birleştirmek öğrenin WCF Veri Hizmetleri , Silverlight uygulamaları.Daha fazla bilgi için bkz: ado.net Data Services (Silverlight).

Ayrıca bkz.

Diğer Kaynaklar

Veri erişimi ve veri yapıları