Aracılığıyla paylaş


HTTP POST Kullanan AJAX Hizmeti

PostAjaxService örneği, HTTP POST kullanan ASP.NET Zaman Uyumsuz JavaScript ve XML (AJAX) hizmeti oluşturmak için Windows Communication Foundation'ın (WCF) nasıl kullanılacağını gösterir. AJAX hizmeti, bir Web tarayıcısı istemcisinden temel JavaScript kodu kullanarak erişebileceğiniz hizmettir. Bu örnek Temel AJAX Hizmeti örneğini temel alır; İki örnek arasındaki tek fark, HTTP GET yerine HTTP POST'un kullanılmasıdır.

Windows Communication Foundation'da (WCF) AJAX desteği, denetim aracılığıyla ScriptManager ASP.NET AJAX ile kullanılmak üzere iyileştirilmiştir. WCF'yi ASP.NET AJAX ile kullanma örneği için bkz. Ajax Örnekleri.

Uyarı

Bu örnek için kurulum yordamı ve derleme yönergeleri bu konunun sonunda yer alır.

Aşağıdaki örnekteki hizmet, AJAX'a özgü kod içermeyen bir WCF hizmetidir.

WebInvokeAttribute Öznitelik bir işleme uygulanırsa veya WebGetAttribute öznitelik uygulanmazsa, varsayılan HTTP fiili ("POST") kullanılır. POST isteklerini oluşturmak GET isteklerinden daha zordur, ancak önbelleğe alınmaz; önbelleğe almanın uygun olmadığı tüm işlemler için POST isteklerini kullanın.

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

Hizmette, Temel AJAX Hizmeti örneğinde olduğu gibi, WebScriptServiceHostFactory kullanarak bir AJAX uç noktası oluşturun.

GET isteklerinin aksine, POST hizmetlerini tarayıcıdan çağıramazsınız. Örneğin, http://localhost/ServiceModelSamples/service.svc/Add?n1=100&n2=200 adresine gitmek, POST hizmeti n1 ve n2 parametrelerinin URL'de değil, JSON biçiminde ileti gövdesinde gönderilmesini beklediği için hataya neden olur.

İstemci Web sayfası PostAjaxClientPage.aspx, kullanıcı sayfadaki işlem düğmelerinden birine her tıklayışında hizmeti çağırmak için ASP.NET kod içerir. Hizmet, GET isteğiyle Temel AJAX Hizmeti örneğindekiyle aynı şekilde yanıt verir.

Örneği ayarlamak, derlemek ve çalıştırmak için

  1. Windows Communication Foundation Örnekleri için Kurulum YordamıOne-Time kurulum yönergelerini gerçekleştirdiğinizden emin olun.

  2. PostAjaxService.sln çözümünü, Windows Communication Foundation Örneklerini Oluşturma bölümünde açıklandığı gibi oluşturun.

  3. adresine http://localhost/ServiceModelSamples/PostAjaxClientPage.aspx gidin (proje dizininden tarayıcıda PostAjaxClientPage.aspx açmayın).