Aracılığıyla paylaş


<wsDualHttpBinding>

Çift yönlü hizmet sözleşmeleri veya SOAP aracıları aracılığıyla iletişim için uygun güvenli, güvenilir ve birlikte çalışabilir bir bağlama tanımlar.

<Yapılandırma>
  <system.serviceModel>
    <Bağlama>
      <wsDualHttpBinding>

Syntax

<wsDualHttpBinding>
  <binding name="String"
          closeTimeout="TimeSpan"
          openTimeout="TimeSpan"
          receiveTimeout="TimeSpan"
          sendTimeout="TimeSpan"
          bypassProxyOnLocal="Boolean"
          clientBaseAddress="URI"
          transactionFlow="Boolean"
          hostNameComparisonMode="StrongWildCard/Exact/WeakWildcard"
          maxBufferPoolSize="integer"
          maxReceivedMessageSize="Integer"
          messageEncoding="Text/Mtom"
          proxyAddress="URI"
          textEncoding="Unicode/BigEndianUnicode/UTF8"
          useDefaultWebProxy="Boolean">
    <reliableSession ordered="Boolean"
                     inactivityTimeout="TimeSpan" />
    <security mode="None/Message">
      <message clientCredentialType="None/Windows/UserName/Certificate/CardSpace"
               negotiateServiceCredential="Boolean"
               algorithmSuite="Basic128/Basic192/Basic256/Basic128Rsa15/Basic256Rsa15/TripleDes/TripleDesRsa15/Basic128Sha256/Basic192Sha256/TripleDesSha256/Basic128Sha256Rsa15/Basic192Sha256Rsa15/Basic256Sha256Rsa15/TripleDesSha256Rsa15" />
    </security>
    <readerQuotas maxArrayLength="Integer"
                  maxBytesPerRead="Integer"
                  maxDepth="Integer"
                  maxNameTableCharCount="Integer"
                  maxStringContentLength="Integer" />
  </binding>
</wsDualHttpBinding>

Öznitelikler ve Öğeler

Aşağıdaki bölümlerde öznitelikler, alt öğeler ve üst öğeler açıklanmaktadır

Öznitelikler

Öznitelik Açıklama
Bypassproxyonlocal Yerel adresler için ara sunucunun atlanıp atlanmayacağını gösteren boole değeri. Varsayılan değer: false.
clientBaseAddress İstemcinin hizmetten gelen yanıt iletileri için dinlediğini temel adresi ayarlayan bir URI. Belirtilirse, dinlemek için bu adres (artı kanal başınaGUID) kullanılır. Değer belirtilmezse, istemci temel adresi aktarıma özgü bir şekilde oluşturulur. Varsayılan değer: null.
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 değerine Zeroeşit olmalı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 konak adını yoksayan değeridir StrongWildcard.
maxBufferPoolSize Bu bağlama için arabellek havuzu boyutunun üst sınırını 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 çöp 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ğlamayla yapılandırılan 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 girdisini 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: Kısa mesaj 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çin Basitleştirilmiş Yapılandırma ve Basitleştirilmiş Yapılandırma.
openTimeout Açma TimeSpan işleminin tamamlanması için sağlanan zaman aralığını belirten değer. Bu değer değerinden büyük veya değerine Zeroeşit olmalıdır. Varsayılan değer 00:01:00'dır.
proxyAddress HTTP ara sunucusunun adresini belirten bir URI. ise useDefaultWebProxytrue, 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 değerine Zeroeşit olmalı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 değerine Zeroeşit olmalı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ı ayarlar. Geçerli değerler şunlardır:

- BigEndianUnicode: Unicode BigEndian kodlaması.
- Unicode: 16 bit kodlama.
- UTF8: 8 bit kodlama

Varsayılan değer UTF8'dir. Bu öznitelik türündedir Encoding.
transactionFlow Bağlamanın akış WS-Transactions'i destekleyip desteklemediğini belirten boole değeri. Varsayılan değer: false.
useDefaultWebProxy Sistemin otomatik olarak yapılandırılmış HTTP proxy'sinin kullanılıp kullanılmadığını gösteren boole değeri. Bu öznitelik trueise proxy adresi olmalıdır null (yani ayarlanmamalıdır). Varsayılan değer: true.

Alt Öğeler

Öğe Açıklama
<Güvenlik> Bağlama için güvenlik ayarlarını tanımlar. Bu öğe türündedir WSDualHttpSecurityElement.
<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 oluşturularak 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

, WSDualHttpBinding ile aynı Web Hizmeti protokolleri WSHttpBindingiçin, ancak çift yönlü anlaşmalarla kullanım için de aynı desteği sağlar. WSDualHttpBinding yalnızca SOAP güvenliğini destekler ve güvenilir mesajlaşma gerektirir. Bu bağlama, istemcinin hizmet için bir geri çağırma uç noktası sağlayan bir genel URI'ye sahip olmasını gerektirir. Bu, özniteliği tarafından clientBaseAddress sağlanır. İkili bağlama, istemcinin IP adresini hizmete sunar. İstemci, yalnızca güvendiği hizmetlere bağlandığından emin olmak için güvenliği kullanmalıdır.

Bu bağlama, bir veya daha fazla SOAP aracı aracılığıyla güvenilir bir şekilde iletişim kurmak için kullanılabilir.

Varsayılan olarak, bu bağlama güvenilirlik, ileti güvenliği ve kimlik doğrulaması için WS-Security, ileti teslimi için HTTP ve Metin/XML ileti kodlaması için WS-ReliableMessaging içeren bir çalışma zamanı yığını oluşturur.

Örnek

<configuration>
  <system.ServiceModel>
    <bindings>
      <wsDualHttpBinding>
        <binding closeTimeout="00:00:10"
                 openTimeout="00:00:20"
                 receiveTimeout="00:00:30"
                 sendTimeout="00:00:40"
                 bypassProxyOnLocal="false"
                 clientBaseAddress="http://localhost:8001/client/"
                 transactionFlow="true"
                 hostNameComparisonMode="WeakWildcard"
                 maxReceivedMessageSize="1000"
                 messageEncoding="Mtom"
                 proxyAddress="http://foo/bar"
                 textEncoding="utf-16"
                 useDefaultWebProxy="false">
          <reliableSession ordered="false"
                           inactivityTimeout="00:02:00" />
          <security mode="None">
            <message clientCredentialType="None"
                     negotiateServiceCredential="false"
                     algorithmSuite="Aes128" />
          </security>
        </binding>
      </wsDualHttpBinding>
    </bindings>
  </system.ServiceModel>
</configuration>

Ayrıca bkz.