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; iki örnek arasındaki tek fark HTTP GET yerine HTTP POST kullanımı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. ASP.NET AJAX ile WCF kullanma örneği için bkz . Ajax Örnekleri.
Not
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…
}
Temel AJAX Hizmeti örneğinde olduğu gibi hizmetini kullanarak WebScriptServiceHostFactorybir AJAX uç noktası oluşturun.
GET isteklerinin aksine, POST hizmetlerini tarayıcıdan çağıramazsınız. Örneğin, POST hizmeti ve n2
parametrelerinin URL'de değil, JSON biçiminde ileti gövdesinde gönderilmesini beklediğindenn1
, adresine gitmek http://localhost/ServiceModelSamples/service.svc/Add?n1=100&n2=200
hatayla sonuçlanır.
İ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
Windows Communication Foundation Örnekleri için Tek Seferlik Kurulum Yordamı kurulum yönergelerini gerçekleştirdiğinizden emin olun.
Çözüm PostAjaxService.sln Windows Communication Foundation Örnekleri Oluşturma bölümünde açıklandığı gibi oluşturun.
adresine
http://localhost/ServiceModelSamples/PostAjaxClientPage.aspx
gidin (proje dizininden tarayıcıda PostAjaxClientPage.aspx açmayın).