Saya ingin mencoba perbedaan antara ServiceStack Web dan webapi bawaan Microsoft, dan melihat apa saja keunggulannya, jadi cobalah untuk membangun aplikasi ServiceStack Web Service hari ini
1: Buat proyek kosong web .NET 4.5 baru, lalu gunakan perintah nuget untuk menginstal ServiceStack:
Versi .NET harus lebih besar dari atau sama dengan versi 4.5, proyek 4.0 tidak akan berhasil diinstal! Seperti yang ditunjukkan pada gambar di bawah ini.
2: Membuat model baru dan folder layanan
Buat entitas permintaan dan respons dengan kode berikut:
3: Membuat antarmuka layanan di folder layanan
4: Buat kelas aplikasi global baru bernama Global.asax ke proyek ini, dan kodenya adalah sebagai berikut:
5: Ubah konfigurasi web.config, tambahkan node system.webServer baru, dan konfigurasi lengkapnya adalah sebagai berikut:
Sejauh ini layanan kami telah selesai, menjalankan program dapat melihat antarmuka sebagai berikut,GetAllUserInfoRequest dan GetByAgeUserInfoRequest dapat dipahami sebagai metode panggilan aktualParameter yang ditentukan di dalamnya dapat ditafsirkan sebagai parameter permintaan metode, seperti yang ditunjukkan pada gambar di bawah ini:
Metode layanan di ServiceStack diberi nama Any, Get, dan Post, yang juga merupakan jenis permintaan yang didukung oleh ServiceStack.Apa pun berarti bahwa layanan dapat dipanggil di HTTP Get dan HTTP Post。 Ini memperkuat dan menyederhanakan implementasi WebServices bergaya RESTFull. Cukup tambahkan cinta [Rute(...)] pada metode ini Atribut. Di ServiceStack,Perbedaan antara metode dan metode dibedakan oleh parameter layanan dan objek permintaan Permintaan DTO, daripada membedakan berdasarkan nama metode seperti di WCF. Ini berartiObjek DTO permintaan tidak dapat digunakan kembali di beberapa Layanan di ServiceStack。
Menambahkan parameter format setelah parameter get request dapat mengembalikan jenis respons, seperti: format=json, format=xml, dll., dan tampaknya format jsonp juga didukung.
Misalnya: http://localhost:52079//json/reply/GetAllUserInfoRequest?format=xml
Singkatnya, dibandingkan dengan API web Microsoft, ServiceStack tampaknya tidak memiliki konsep metode di web, ini adalah entitas permintaan yang berbeda adalah metode, dapat secara otomatis menghasilkan dokumen antarmuka, dan format respons dapat dikembalikan melalui format (meskipun Microsoft juga memungkinkan, tetapi rasanya lebih sederhana daripada Microsoft)
Referensi: https://www.cnblogs.com/woxpp/p/5012947.html
https://msdn.microsoft.com/zh-cn/magazine/dn342871.aspx
https://github.com/ServiceStack/ServiceStack/wiki
Terakhir, lampirkan kode sumber proyek!
Wisatawan, jika Anda ingin melihat konten tersembunyi dari posting ini, silakan Jawab
|