SOAP ve HTTP Uç Noktaları
SoapAndHttpEndpoints örneği, RPC tabanlı bir hizmetin nasıl uygulanıp SOAP biçiminde ve WCF Web Programlama modelini kullanarak "Düz Eski XML" (POX) biçiminde nasıl kullanıma açileceğini gösterir. Hizmetin HTTP bağlaması hakkında daha fazla bilgi için Temel HTTP Hizmeti örneğine bakın. Bu örnek, farklı bağlamalar kullanarak SOAP ve HTTP üzerinden aynı hizmeti ortaya çıkarmakla ilgili ayrıntılara odaklanır.
Gösteriler
WCF kullanarak SOAP ve HTTP üzerinden RPC hizmetini açığa çıkarma.
Tartışma
Bu örnek iki bileşenden oluşur: WCF hizmeti içeren bir Web Uygulaması projesi (Hizmet) ve SOAP ve HTTP bağlamalarını kullanarak hizmet işlemlerini çağıran bir konsol uygulaması (İstemci).
WCF hizmeti, giriş olarak geçirilen dizeyi yankılayan 2 işlemi (GetData
ve PutData
) kullanıma sunar. Hizmet işlemlerine ve WebInvokeAttributeile WebGetAttribute ek açıklama eklenir. Bu öznitelikler, bu işlemlerin HTTP projeksiyonunu denetler. Buna ek olarak, soap bağlamaları üzerinden kullanıma sunulmalarını sağlayan ile OperationContractAttributeek açıklama eklenir. Hizmetin PutData
yöntemi, HTTP durum kodu kullanılarak HTTP üzerinden geri gönderilen ve SOAP üzerinden SOAP hatası olarak geri gönderilen bir WebFaultExceptionoluşturur.
Web.config dosyası WCF hizmetini 3 uç noktayla yapılandırıyor:
SOAP tabanlı istemciler tarafından erişim için hizmet meta verilerini kullanıma sunan ~/service.svc/mex uç noktası.
İstemcilerin HTTP bağlamasını kullanarak hizmete erişmesini sağlayan ~/service.svc/http uç noktası.
İstemcilerin HTTP bağlaması üzerinden SOAP kullanarak hizmete erişmesini sağlayan ~/service.svc/soap uç noktası.
HTTP uç noktası, olarak ayarlanmış true
standart bir <webHttp>
uç noktayla helpEnabled
yapılandırılır. Sonuç olarak hizmet, HTTP tabanlı istemcilerin hizmete erişmek için kullanabileceği ~/service.svc/http/help konumunda XHTML tabanlı bir yardım sayfasını kullanıma sunar.
İstemci projesi, bir SOAP ara sunucusu kullanarak hizmete erişimi (Hizmet Başvurusu Ekle aracılığıyla oluşturulur) ve kullanarak WebClienthizmete erişmeyi gösterir.
Örnek, Web'de barındırılan bir hizmet ve bir konsol uygulamasından oluşur. Konsol uygulaması çalışırken istemci hizmete istekte bulunur ve yanıtlardan konsol penceresine ilgili bilgileri yazar.
Örnek çalıştırmak için
SOAP ve HTTP Uç Noktaları Örneği için çözümü açın.
Çözümü oluşturmak için Ctrl+Shift B tuşlarına+basın.
Henüz açık değilse, Çözüm Gezgini penceresini açmak için CTRL+W, S tuşlarına basın.
Çözüm Gezgini penceresinde, Hizmet projesine sağ tıklayın ve imleci Yeni Örneği Başlat bağlam menüsünün görünmesi için Hata ayıklama bağlam menüsü seçeneğinin üzerine getirin. Yeni Örneği Başlat'a tıklayın. Bu, hizmeti barındıran ASP.NET geliştirme sunucusunu başlatır.
Çözüm Gezgini pencerelerinden İstemci projesine sağ tıklayın ve imleci Yeni Örneği Başlat bağlam menüsünün görünmesi için Hata Ayıklama bağlam menüsü seçeneğinin üzerine getirin. Yeni Örneği Başlat'a tıklayın.
İstemci konsolu penceresi görüntülenir ve çalışan hizmetin URI'sini ve çalışan hizmet için HTML yardım sayfasının URI'sini sağlar. Herhangi bir zamanda, tarayıcıya yardım sayfasının URI'sini yazarak HTML yardım sayfasını görüntüleyebilirsiniz.
Örnek çalışırken istemci geçerli etkinliğin durumunu yazar.
İstemci konsol uygulamasını sonlandırmak için herhangi bir tuşa basın.
Hizmette hata ayıklamayı durdurmak için SHIFT+F5 tuşlarına basın.
Windows Bildirim Alanı'nda ASP.NET geliştirme sunucusu simgesine sağ tıklayın ve bağlam menüsünden Durdur'u seçin.