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 ScriptManager kontrol. Untuk contoh penggunaan WCF dengan ASP.NET AJAX, lihat Sampel Ajax.

Nota

Prosedur penyiapan dan instruksi build untuk sampel ini terletak di akhir topik ini.

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

Jika atribut WebInvokeAttribute dikenakan pada operasi, atau atribut WebGetAttribute tidak dikenakan, kata kerja HTTP default ("POST") digunakan. Permintaan POST lebih sulit untuk disusun dibandingkan permintaan GET, namun tidak disimpan di penyimpanan sementara; gunakan permintaan POST untuk semua operasi di mana penyimpanan sementara tidak tepat.

[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 untuk http://localhost/ServiceModelSamples/service.svc/Add?n1=100&n2=200 menghasilkan kesalahan, karena layanan POST mengharapkan n1 parameter dan n2 dikirim dalam isi pesan dalam format JSON, dan bukan di URL.

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

Untuk menyiapkan, mengompilasi, dan menjalankan sampel

  1. Pastikan Anda melakukan instruksi penyiapan One-Time Prosedur Penyetelan 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).