Pertanyaan Layanan Web - WCF vs. ASMX ("Standar")


Saya sedang mengerjakan proyek baru. Apakah ada manfaat dengan menggunakan layanan web WCF melalui layanan web mode biasa yang lama?

Visual Studio menawarkan templat untuk keduanya. Apa perbedaannya? Pro dan kontra?


32
2017-08-09 06:50


asal


Jawaban:


Apa itu "layanan web biasa kuno?" Layanan ASMX, atau apakah Anda menggunakan WSE juga? Layanan ASMX tidak dapat dioperasikan secara alami, tidak mendukung spesifikasi WS- *, dan ASMX adalah teknologi yang sangat cepat menua. Layanan WSE (Web Service Enhancements) DO menambahkan dukungan untuk WS- * dan dapat dibuat dapat dioperasikan, tetapi WCF dimaksudkan untuk menggantikan WSE, jadi Anda harus meluangkan waktu untuk mempelajarinya. Saya akan mengatakan bahwa kecuali aplikasi Anda cepat kotor, Anda akan mendapatkan fleksibilitas yang sangat besar dan berakhir dengan desain yang lebih baik jika Anda memilih WCF. WCF tidak memiliki kurva belajar di luar atribut [WebMethod], tetapi kurva pembelajaran terlalu dibesar-besarkan menurut pendapat saya, dan itu secara eksponensial lebih kuat dan bukti masa depan daripada layanan ASMX warisan.

Kecuali garis waktu Anda tidak bisa mentolerir kurva belajar, Anda akan melakukan diri Anda bantuan WCF belajar besar bukannya hanya menempel dengan ASP.NET Web Services. Aplikasi hanya akan terus menjadi lebih dan lebih terdistribusi dan saling berhubungan, dan WCF adalah masa depan komputasi terdistribusi pada platform Microsoft.

Berikut ini perbandingannya di antara keduanya.


32
2017-08-10 02:28



The Pros dari melakukan semua sendiri adalah:

  • Tidak ada kurva belajar
  • Sangat fleksibel

Pros dari WCF adalah:

  • Menghabiskan lebih sedikit waktu dalam jangka panjang
  • Beralih protokol tanpa pemrograman

Kerugian WCF: beberapa nama properti statis bisa sangat panjang...

Untuk meringkas: WCF memungkinkan Anda fokus pada pemrograman, tetapi Anda harus mempelajarinya terlebih dahulu ;-)


9
2017-08-09 08:35



Pro untuk WCF: Anda tidak memerlukan server web (yaitu IIS). Anda sebenarnya tidak membutuhkan server OS.


3
2017-10-05 20:02



Saya suka fakta menulis layanan WCF membuatnya mudah untuk memisahkan layanan Anda dari implementasi. Anda dapat menulis layanan Anda dan kemudian menghostingnya di IIS, aplikasi konsol, atau layanan Windows; Anda juga dapat berbicara melalui HTTP, TCP bersih, dll.


2
2017-08-10 02:13



Tes unit pada layanan Anda, implamentasi dan interaksi lebih mudah dilakukan!


1
2018-03-12 21:56



Jika proyek Anda menggunakan framework 4.0, Mengapa Anda tidak mencoba WebApi, yang mudah dimengerti dan menggunakan konvensi over konfigurasi.

Ini adalah cara yang bagus untuk membangun aplikasi dengan antarmuka super cepat

Lihatlah video memulai dari MS, Ini telah berevolusi dari Layanan data WCF.

http://www.asp.net/web-api/overview/getting-started-with-aspnet-web-api


0
2017-09-30 06:27



Menurut pengalamanku

WCF

Tidak masuk akal untuk bekerja dengannya, itu tidak cukup kompatibel dengan produk microsoft lainnya dan, tentu saja, tidak diterima secara luas di luar dunia microsoft.

Tetapi masalah utama saya adalah tidak stabil, itu kecenderungan untuk gagal (dalam beberapa situasi) dan itu perlu untuk men-tweak sebelum dapat digunakan.

Sebagai gantinya

SOAP (alias Webservice standar), berfungsi, mudah digunakan dan kompatibel secara luas (Java-JAX menerimanya tanpa modifikasi apa pun).

Untuk menambahkan otentikasi dalam SOAP bisa agak rumit tetapi bukan tidak mungkin.


-2
2018-06-20 16:43