WSHttpBinding
wsHttp örneği, Windows Communication Foundation (WCF) kullanarak tipik bir hizmeti ve tipik bir istemciyi nasıl uygulayacaklarını gösterir. Bu örnek, bir istemci konsol programı (client.exe) ve Internet Information Services (IIS) tarafından barındırılan bir hizmet kitaplığından oluşur. Hizmet, istek-yanıt iletişim desenini tanımlayan bir sözleşme uygular. Sözleşme, matematik işlemlerini (ekleme, çıkarma, çarpma ve bölme) kullanıma sunan arabirim tarafından ICalculator
tanımlanır. İstemci belirli bir matematik işlemine zaman uyumlu istekler yapar ve hizmet sonuçla yanıtlar. İstemci etkinliği konsol penceresinde görünür.
Not
Bu örnek için kurulum yordamı ve derleme yönergeleri bu konunun sonunda yer alır.
Bu örnek, wsHttpBinding kullanarak sözleşmeyi <kullanıma sunarICalculator
.> Bu bağlamanın yapılandırması Web.config dosyasında genişletilmiştir.
<bindings>
<wsHttpBinding>
<!--The following is the expanded configuration section for a-->
<!--WSHttpBinding. Each property is configured with the default-->
<!--value. See the ReliableSession, TransactionFlow, -->
<!--TransportSecurity, and MessageSecurity samples in the WS -->
<!--directory to learn how to configure these features. -->
<binding name="Binding1"
bypassProxyOnLocal="false"
transactionFlow="false"
hostNameComparisonMode="StrongWildcard"
maxBufferPoolSize="524288"
maxReceivedMessageSize="65536"
messageEncoding="Text"
textEncoding="utf-8"
useDefaultWebProxy="true"
allowCookies="false">
<reliableSession ordered="true"
inactivityTimeout="00:10:00"
enabled="false" />
<security mode="Message">
<message clientCredentialType="Windows"
negotiateServiceCredential="true"
algorithmSuite="Default"
establishSecurityContext="true" />
</security>
</binding>
</wsHttpBinding>
</bindings>
temel binding
öğesinde maxReceivedMessageSize
değeri, gelen iletinin en büyük boyutunu (bayt cinsinden) yapılandırmanıza olanak tanır. değeri, hostNameComparisonMode
hizmete iletilerin çoğullamasını kaldırma sırasında konak adının dikkate alınıp alınmayacağını yapılandırmanıza olanak tanır. değeri, messageEncoding
iletiler için Metin mi yoksa MTOM kodlaması mı kullanacağınızı yapılandırmanıza olanak tanır. değeri, textEncoding
iletiler için karakter kodlamasını yapılandırmanıza olanak tanır. değeri, bypassProxyOnLocal
yerel iletişim için HTTP proxy'si kullanıp kullanmayabileceğinizi yapılandırmanıza olanak tanır. değeri geçerli transactionFlow
işlemin akışı yapılıp yapılmayacağını (işlem işlem akışı için yapılandırılmışsa) yapılandırılır.
<reliableSession> öğesinde, etkinleştirilmiş Boole değeri güvenilir oturumların etkinleştirilip etkinleştirilmediğini yapılandırmaktadır. değeri, ordered
ileti sıralamanın korunup korunmayacağını yapılandırıyor. değeri, inactivityTimeout
bir oturumun hataya uğramadan önce ne kadar süreyle boşta olabileceğini yapılandırır.
Güvenlikte<>, mode
değeri hangi güvenlik modunun kullanılacağını yapılandırılır. Bu örnekte ileti güvenliği kullanılır ve bu nedenle <ileti> güvenlik> içinde <belirtilir.
Örneği çalıştırdığınızda, işlem istekleri ve yanıtları istemci konsolu penceresinde görüntülenir. İstemciyi kapatmak için istemci penceresinde ENTER tuşuna basın.
Add(100,15.99) = 115.99
Subtract(145,76.54) = 68.46
Multiply(9,81.25) = 731.25
Divide(22,7) = 3.14285714285714
Press <ENTER> to terminate client.
Örneği ayarlamak, derlemek ve çalıştırmak için
Aşağıdaki komutu kullanarak ASP.NET 4.0'ı yükleyin.
%windir%\Microsoft.NET\Framework\v4.0.XXXXX\aspnet_regiis.exe /i /enable
Windows Communication Foundation Örnekleri için Tek Seferlik Kurulum Yordamı'nı gerçekleştirdiğinizden emin olun.
Çözümün C# veya Visual Basic .NET sürümünü oluşturmak için Windows Communication Foundation Örnekleri Oluşturma başlığındaki yönergeleri izleyin.
Örneği tek veya makineler arası bir yapılandırmada çalıştırmak için Windows Communication Foundation Örneklerini Çalıştırma başlığındaki yönergeleri izleyin.