<wsHttpBinding>
Çift yönlü olmayan hizmet sözleşmeleri için uygun güvenli, güvenilir, birlikte çalışabilir bir bağlama tanımlar. Bağlama aşağıdaki belirtimleri uygular: güvenilirlik için WS-Reliable Mesajlaşma ve ileti güvenliği ile kimlik doğrulaması için WS-Security. Aktarım HTTP, ileti kodlama ise Metin/XML kodlamadır.
<Yapılandırma>
<system.serviceModel>
<Bağlama>
<wsHttpBinding>
Syntax
<wsHttpBinding>
<binding allowCookies="Boolean"
bypassProxyOnLocal="Boolean"
closeTimeout="TimeSpan"
hostNameComparisonMode="StrongWildCard/Exact/WeakWildcard"
maxBufferPoolSize="integer"
maxReceivedMessageSize="Integer"
messageEncoding="Text/Mtom"
name="string"
openTimeout="TimeSpan"
proxyAddress="URI"
receiveTimeout="TimeSpan"
sendTimeout="TimeSpan"
textEncoding="UnicodeFffeTextEncoding/Utf16TextEncoding/Utf8TextEncoding"
transactionFlow="Boolean"
useDefaultWebProxy="Boolean">
<reliableSession ordered="Boolean"
inactivityTimeout="TimeSpan"
enabled="Boolean" />
<security mode="Message/None/Transport/TransportWithCredential">
<transport clientCredentialType="Basic/Certificate/Digest/None/Ntlm/Windows"
proxyCredentialType="Basic/Digest/None/Ntlm/Windows"
realm="string" />
<message algorithmSuite="Basic128/Basic192/Basic256/Basic128Rsa15/Basic256Rsa15/TripleDes/TripleDesRsa15/Basic128Sha256/Basic192Sha256/TripleDesSha256/Basic128Sha256Rsa15/Basic192Sha256Rsa15/Basic256Sha256Rsa15/TripleDesSha256Rsa15"
clientCredentialType="Certificate/IssuedToken/None/UserName/Windows"
establishSecurityContext="Boolean"
negotiateServiceCredential="Boolean" />
</security>
<readerQuotas maxArrayLength="Integer"
maxBytesPerRead="Integer"
maxDepth="Integer"
maxNameTableCharCount="Integer"
maxStringContentLength="Integer" />
</binding>
</wsHttpBinding>
Öznitelikler ve Öğeler
Aşağıdaki bölümlerde öznitelikler, alt öğeler ve üst öğeler açıklanmaktadır
Öznitelikler
Öznitelik | Açıklama |
---|---|
Allowcookies | İstemcinin tanımlama bilgilerini kabul edip etmediğini ve bunları gelecekteki isteklere yayıp yaymadığını gösteren boole değeri. Varsayılan değer false. Tanımlama bilgileri kullanan ASMX Web hizmetleriyle etkileşim kurarken bu özelliği kullanabilirsiniz. Bu şekilde, sunucudan döndürülen tanımlama bilgilerinin söz konusu hizmet için gelecekteki tüm istemci isteklerine otomatik olarak kopyalandığından emin olabilirsiniz. |
Bypassproxyonlocal | Yerel adresler için ara sunucunun atlanıp atlanmayacağını belirten boole değeri. Varsayılan değer: false . |
closeTimeout | Kapatma TimeSpan işleminin tamamlanması için sağlanan zaman aralığını belirten değer. Bu değer değerinden büyük veya eşit Zeroolmalıdır. Varsayılan değer 00:01:00'dır. |
hostnameComparisonMode | URI'leri ayrıştırmak için kullanılan HTTP ana bilgisayar adı karşılaştırma modunu belirtir. Bu öznitelik, URI ile eşleştirilirken ana bilgisayar adının hizmete ulaşmak için kullanılıp kullanılmadığını gösteren türündedir HostNameComparisonMode. Varsayılan değer, eşleşmedeki ana bilgisayar adını yoksayan değeridir StrongWildcard. |
maxBufferPoolSize | Bu bağlama için en büyük arabellek havuzu boyutunu belirten bir tamsayı. Varsayılan değer 524.288 bayttır (512 * 1024). Windows Communication Foundation'ın (WCF) birçok bölümünde arabellek kullanılır. Arabelleklerin her kullanıldığında oluşturulması ve yok edilmesi pahalıdır ve arabellekler için atık toplama da pahalıdır. Arabellek havuzları ile havuzdan bir arabellek alabilir, kullanabilir ve işiniz bittiğinde havuza döndürebilirsiniz. Bu nedenle arabellek oluşturma ve yok etme ek yükünden kaçınılır. |
maxReceivedMessageSize | Bu bağlama ile yapılandırılmış bir kanalda alınabilecek üst bilgiler de dahil olmak üzere bayt cinsinden en büyük ileti boyutunu belirten pozitif bir tamsayı. Bu sınırı aşan bir iletinin göndereni SOAP hatası alır. Alıcı iletiyi bırakır ve izleme günlüğünde olayın bir girişini oluşturur. Varsayılan değer 65536'dır. |
messageEncoding | İletiyi kodlamak için kullanılan kodlayıcıyı tanımlar. Geçerli değerler şunlardır: - Metin: Metin iletisi kodlayıcı kullanın. - Mtom: İleti İletim Kuruluş Mekanizması 1.0 (MTOM) kodlayıcı kullanın. - Varsayılan değer Metin'dir. Bu öznitelik türündedir WSMessageEncoding. |
name | Bağlamanın yapılandırma adını içeren bir dize. Bağlama için tanımlama olarak kullanıldığından bu değer benzersiz olmalıdır. .NET Framework 4'den başlayarak, bağlamaların ve davranışların bir ada sahip olması gerekmez. Varsayılan yapılandırma ve adsız bağlamalar ve davranışlar hakkında daha fazla bilgi için bkz. WCF Hizmetleri içinBasitleştirilmiş Yapılandırma ve Basitleştirilmiş Yapılandırma. |
openTimeout | Açık TimeSpan işlemin tamamlanması için sağlanan zaman aralığını belirten değer. Bu değer değerinden büyük veya eşit Zeroolmalıdır. Varsayılan değer 00:01:00'dır. |
proxyAddress | HTTP ara sunucusunun adresini belirten bir URI. ise useSystemWebProxy true , bu ayar olmalıdır null . Varsayılan değer: null . |
receiveTimeout | Alma TimeSpan işleminin tamamlanması için sağlanan zaman aralığını belirten değer. Bu değer değerinden büyük veya eşit Zeroolmalıdır. Varsayılan değer 00:01:00'dır. |
sendTimeout | Gönderme TimeSpan işleminin tamamlanması için sağlanan zaman aralığını belirten değer. Bu değer değerinden büyük veya eşit Zeroolmalıdır. Varsayılan değer 00:01:00'dır. |
textEncoding | Bağlamadaki iletileri yaymak için kullanılacak karakter kümesi kodlamasını belirtir. Geçerli değerler şunlardır: - UnicodeFffeTextEncoding: Unicode BigEndian kodlaması. - Utf16TextEncoding: 16 bit kodlama. - Utf8TextEncoding: 8 bit kodlama. Varsayılan değer Utf8TextEncoding'dir. Bu öznitelik türündedir Encoding. |
transactionFlow | Bağlamanın akan WS-Transactions'i destekleyip desteklemediğini belirten bir Boole değeri. Varsayılan değer: false . |
useDefaultWebProxy | Sistemin otomatik olarak yapılandırılan HTTP proxy'sinin kullanılıp kullanılmayacağını belirten boole değeri. Varsayılan değer: true . |
Alt Öğeler
Öğe | Açıklama |
---|---|
<Güvenlik> | Bağlamanın güvenlik ayarlarını tanımlar. Bu öğe türündedir WSHttpSecurityElement. |
<readerQuotas> | Bu bağlama ile yapılandırılan uç noktalar tarafından işlenebilen SOAP iletilerinin karmaşıklığıyla ilgili kısıtlamaları tanımlar. Bu öğe türündedir XmlDictionaryReaderQuotasElement. |
<reliableSession> | Kanal uç noktaları arasında güvenilir oturumların kurulup kurulmadığını belirtir. |
Üst Öğeler
Öğe | Açıklama |
---|---|
<Bağlama> | Bu öğe standart ve özel bağlamalardan oluşan bir koleksiyonu barındırıyor. |
Açıklamalar
, WSHttpBinding
ile BasicHttpBinding
benzerdir ancak daha fazla Web hizmeti özelliği sağlar. HTTP aktarımını kullanır ve TemelHttpBinding gibi ileti güvenliği sağlar, ancak varsayılan olarak etkinleştirilen veya tek bir denetim ayarıyla kullanılabilen işlemler, güvenilir mesajlaşma ve WS-Adresleme de sağlar.
Örnek
<configuration>
<system.ServiceModel>
<bindings>
<wsHttpBinding>
<binding closeTimeout="00:00:10"
openTimeout="00:00:20"
receiveTimeout="00:00:30"
sendTimeout="00:00:40"
bypassProxyOnLocal="false"
transactionFlow="false"
hostNameComparisonMode="WeakWildcard"
maxReceivedMessageSize="1000"
messageEncoding="Mtom"
proxyAddress="http://foo/bar"
textEncoding="utf-16"
useDefaultWebProxy="false">
<reliableSession ordered="false"
inactivityTimeout="00:02:00"
enabled="true" />
<security mode="Transport">
<transport clientCredentialType="Digest"
proxyCredentialType="None"
realm="someRealm" />
<message clientCredentialType="Windows"
negotiateServiceCredential="false"
algorithmSuite="Aes128"
defaultProtectionLevel="None" />
</security>
</binding>
</wsHttpBinding>
</bindings>
</system.ServiceModel>
</configuration>