Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Layanan AJAX Windows Communication Foundation (WCF) dapat diakses dari halaman Web dengan dukungan JavaScript apa pun, tanpa memerlukan ASP.NET AJAX. Topik ini menjelaskan cara membuat layanan WCF seperti itu.
Untuk petunjuk tentang menggunakan WCF dengan ASP.NET AJAX, lihat Membuat Layanan WCF untuk ASP.NET AJAX.
Ada tiga bagian untuk membuat layanan WCF AJAX:
Membuat titik akhir AJAX yang dapat diakses dari browser.
Membuat kontrak layanan yang kompatibel dengan AJAX.
Mengakses layanan WCF AJAX.
Membuat Titik Akhir AJAX
Cara paling mendasar untuk mengaktifkan dukungan AJAX dalam layanan WCF adalah dengan menggunakan WebServiceHostFactory dalam file .svc yang terkait dengan layanan, seperti dalam contoh berikut.
<%ServiceHost
language=c#
Debug="true"
Service="Microsoft.Ajax.Samples.CityService"
Factory=System.ServiceModel.Activation.WebServiceHostFactory
%>
Atau, Anda juga dapat menggunakan konfigurasi untuk menambahkan titik akhir AJAX. WebHttpBinding Gunakan pada titik akhir layanan dan konfigurasikan titik akhir tersebut dengan seperti yang WebHttpBehavior ditunjukkan dalam cuplikan kode berikut.
<configuration>
<system.serviceModel>
<behaviors>
<endpointBehaviors>
<behavior name="AjaxBehavior">
<webHttp/>
</behavior>
</endpointBehaviors>
</behaviors>
<services>
<service name="Microsoft.Ajax.Samples.CityService">
<endpoint
address="ajaxEndpoint"
behaviorConfiguration="AjaxBehavior"
binding="webHttpBinding"
contract="Microsoft.Ajax.Samples.ICityService" />
</service>
</services>
</system.serviceModel>
</configuration>
Untuk contoh kerja, lihat Layanan AJAX dengan JSON dan XML.
Membuat Kontrak Layanan AJAX-Compatible
Secara default, kontrak layanan yang diekspos melalui titik akhir AJAX mengembalikan data dalam format XML. Selain itu, secara default operasi layanan dapat diakses melalui permintaan HTTP POST ke URL yang menyertakan alamat titik akhir diikuti dengan nama operasi, seperti yang ditunjukkan dalam contoh berikut.
[OperationContract]
string[] GetCities(string firstLetters);
Operasi ini dapat diakses menggunakan HTTP POST ke http://serviceaddress/endpointaddress/GetCities
dan mengembalikan pesan XML.
Anda dapat menggunakan Model Pemrograman Web lengkap untuk menyesuaikan aspek-aspek dasar ini. Misalnya, Anda dapat menggunakan WebGetAttribute atribut atau WebInvokeAttribute untuk mengontrol kata kerja HTTP tempat operasi merespons atau menggunakan UriTemplate
properti atribut masing-masing untuk menentukan URI kustom. Untuk informasi selengkapnya, lihat topik Model Pemrograman HTTP Web WCF .
Format data JSON sering digunakan dalam layanan AJAX. Untuk membuat operasi yang mengembalikan JSON alih-alih XML, atur ResponseFormat properti (atau ResponseFormat) ke Json. Topik Serialisasi JSONStand-Alone menunjukkan bagaimana jenis .NET bawaan dan jenis kontrak data dipetakan ke JSON.
Biasanya, permintaan dan respons JSON hanya terdiri dari satu item. Untuk operasi GetCities
sebelumnya, permintaan menyerupai pernyataan berikut.
"na"
Respon terhadap permintaan tersebut menyerupai pernyataan berikut.
["Nairobi", "Naples", "Nashville"]
Jika operasi mengambil parameter tambahan, gaya permintaan harus dibungkus untuk membungkus kedua parameter dalam satu objek JSON. Contoh pesan JSON gaya ini ada dalam contoh berikut.
{"firstLetters": "na", "maxNumber": 2}
Kontrak berikut menerima pesan ini.
[WebInvoke(BodyStyle=WebMessageBodyStyle.WrappedRequest, ResponseFormat=WebMessageFormat.Json)]
[OperationContract]
string[] GetCities(string firstLetters, int maxNumber);
Mengakses Layanan AJAX
Titik akhir WCF AJAX selalu menerima permintaan JSON dan XML.
Permintaan HTTP POST dengan jenis konten "application/json" diperlakukan sebagai JSON, dan permintaan dengan tipe konten yang menunjukkan XML (misalnya, "teks/xml") diperlakukan sebagai XML.
Permintaan HTTP GET berisi semua parameter permintaan di URL itu sendiri.
Terserah pengguna untuk memutuskan cara membuat permintaan HTTP ke titik akhir. Selain itu, pengguna memiliki kontrol penuh atas pembuatan JSON yang membentuk isi permintaan. Untuk contoh membuat permintaan dari JavaScript, lihat Layanan AJAX dengan JSON dan XML.