Bagikan melalui


Layanan AJAX Menggunakan HTTP POST

Sampel PostAjaxService menunjukkan cara menggunakan Windows Communication Foundation (WCF) untuk membuat layanan ASP.NET Asinkron JavaScript dan XML (AJAX) yang menggunakan HTTP POST. Layanan AJAX adalah layanan yang dapat Anda akses dengan menggunakan kode JavaScript dasar dari klien browser Web. Sampel ini dibangun pada sampel Layanan AJAX Dasar; satu-satunya perbedaan antara kedua sampel adalah penggunaan HTTP POST alih-alih HTTP GET.

Dukungan AJAX di Windows Communication Foundation (WCF) dioptimalkan untuk digunakan dengan ASP.NET AJAX melalui kontrol ScriptManager. Untuk contoh penggunaan WCF dengan ASP.NET AJAX, lihat Sampel Ajax.

Catatan

Prosedur penyiapan dan petunjuk pembuatan untuk sampel ini terdapat di akhir topik ini.

Layanan dalam sampel berikut adalah layanan WCF tanpa kode khusus AJAX.

Jika atribut WebInvokeAttribute diterapkan pada operasi, atau atribut WebGetAttribute tidak diterapkan, kata kerja HTTP default ("POST") digunakan. Permintaan POST lebih sulit dikonstruksi daripada permintaan GET, tetapi tidak di-cache; gunakan permintaan POST untuk semua operasi di mana penembolokan tidak sesuai.

[ServiceContract(Namespace = "PostAjaxService")]
public interface ICalculator
{
    [WebInvoke]
    double Add(double n1, double n2);
    //Other operations omitted…
}

Buat titik akhir AJAX pada layanan dengan menggunakan WebScriptServiceHostFactory, sama seperti dalam sampel Layanan AJAX Dasar.

Tidak seperti permintaan GET, Anda tidak dapat memanggil layanan POST dari browser. Misalnya, menavigasi ke http://localhost/ServiceModelSamples/service.svc/Add?n1=100&n2=200 menghasilkan kesalahan, karena layanan POST mengharapkan parameter n1 dan n2 dikirim dalam isi pesan dalam format JSON, dan bukan di URL.

PostAjaxClientPage.aspx halaman Web klien berisi kode ASP.NET untuk memanggil layanan setiap kali pengguna mengeklik salah satu tombol operasi di halaman. Layanan merespons dengan cara yang sama seperti dalam sampel Layanan AJAX Dasar, dengan permintaan GET.

Untuk menyiapkan, membangun, dan menjalankan sampel

  1. Pastikan Anda melakukan Prosedur Pengaturan Satu Kali untuk Sampel Windows Communication Foundation.

  2. Bangun solusi PostAjaxService.sln seperti yang dijelaskan dalam Membangun Sampel Windows Communication Foundation.

  3. Navigasi ke http://localhost/ServiceModelSamples/PostAjaxClientPage.aspx (jangan buka PostAjaxClientPage.aspx di browser dari direktori proyek).