Saya benci situs MSDN untuk layanan WCF RIA. Ia tidak mengatakan apa itu, ia hanya mengatakan apa yang dilakukannya. Ia mengatakan apa yang dapat dicapai tetapi tidak mengatakan mengapa saya membutuhkannya.
Sebagai contoh:
"Masalah umum saat mengembangkan solusi RIA n-tier adalah mengoordinasikan logika aplikasi antara tingkat menengah dan tingkat presentasi".
Yah, itu tidak berarti banyak bagiku.
"Layanan RIA memecahkan masalah ini dengan menyediakan komponen kerangka kerja, alat, dan layanan yang membuat logika aplikasi di server tersedia untuk klien RIA tanpa mengharuskan Anda untuk menduplikasi logika pemrograman tersebut secara manual. Anda dapat membuat klien RIA yang mengetahui aturan bisnis dan ketahuilah bahwa klien secara otomatis diperbarui dengan logika tingkat menengah terbaru setiap kali solusi tersebut dikompilasi ulang. "
Jadi apakah itu mengunduh DLL dari server? Apakah itu metadata yang menjelaskan aturan untuk data?
Jadi apa itu? Apakah ini hanya add-on VS 2010 untuk RAD? Atau apakah itu teknologi di atas WCF atau di bawahnya atau apa? Di mana tempat tinggalnya? Dengan data, dengan server, apa?
Saya menghargai jika Anda dapat meringkas ini untuk saya.
Jawaban:
Layanan RIA adalah teknologi sisi server yang secara otomatis menghasilkan objek sisi klien (Silverlight) yang menangani komunikasi dengan server untuk Anda dan memberikan validasi sisi klien.
Objek utama di dalam layanan RIA adalah
DomainService
, biasanyaLinqToEntitiesDomainService
yang terhubung ke model LinqToEntities.Hal utama yang perlu diingat dalam layanan RIA adalah bahwa ini terutama merupakan trik build yang canggih. Saat Anda membuat layanan domain dan mengompilasi solusi Anda, representasi sisi klien dari layanan domain Anda dibuat. Representasi sisi klien ini memiliki antarmuka yang sama. Misalkan Anda membuat layanan domain sisi server
CustomerService
dengan metodeIQueryable<Customer> GetCustomersByCountry
. Ketika Anda membangun solusi Anda, sebuah kelas dibuat di dalam proyek Silverlight Anda yang disebutCustomerContext
yang memiliki metodeGetCustomersByCountryQuery
. Sekarang Anda dapat menggunakan metode ini pada klien seolah-olah Anda memanggilnya di server.Pembaruan, penyisipan dan penghapusan mengikuti pola yang berbeda. Saat Anda membuat layanan domain, Anda dapat menunjukkan apakah Anda ingin mengaktifkan pengeditan. Metode terkait untuk perbarui / sisipkan / hapus kemudian dibuat di layanan domain sisi server. Namun, bagian sisi klien tidak memiliki metode ini. Apa yang Anda miliki pada Anda
CustomerContext
adalah sebuah metode yang disebutSubmitChanges
. Jadi bagaimana cara kerjanya:GetCustomersByCountryQuery
).CustomerContext.Customers.Add(new Customer(...) {...})
.CustomerContext.Customers.Remove(someCustomer)
.Setelah selesai mengedit, Anda menelepon
CustomerContext.SubmitChanges()
.Untuk validasi, Anda dapat menghias objek sisi server Anda dengan atribut validasi dari
System.ComponentModel.DataAnnotations
namespace. Sekali lagi, ketika Anda membangun proyek Anda, kode validasi sekarang secara otomatis dibuat untuk objek sisi klien yang sesuai.Saya harap penjelasan ini sedikit membantu Anda.
sumber
Berita terbaru: Layanan WCF RIA sudah mati:
http://blogs.msmvps.com/deborahk/who-moved-my-cheese-ria-services/
Jika Anda ingin menggunakan Layanan RIA, mereka telah bersumber terbuka:
http://www.openriaservices.net/blog/posts/
sumber