Megosztás a következőn keresztül:


<wsHttpBinding>

Biztonságos, megbízható, interoperábilis kötést határoz meg, amely alkalmas nem kétoldalas szolgáltatási szerződésekre. A kötés a következő specifikációkat valósítja meg: WS-Reliable Üzenetkezelés a megbízhatóság érdekében, és WS-Security az üzenetek biztonságához és hitelesítéséhez. Az átvitel HTTP, az üzenetkódolás pedig Text/XML kódolás.

<Konfigurációs>
  <system.serviceModel>
    <Kötések>
      <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>

Attribútumok és elemek

Az alábbi szakaszok az attribútumokat, a gyermekelemeket és a szülőelemeket ismertetik

Attribútumok

Attribútum Leírás
allowCookies Logikai érték, amely azt jelzi, hogy az ügyfél elfogadja-e a cookie-kat, és propagálja-e őket a jövőbeli kérések során. Az alapértelmezett érték hamis.

Ezt a tulajdonságot akkor használhatja, ha cookie-kat használó ASMX-webszolgáltatásokkal kommunikál. Ily módon biztos lehet benne, hogy a kiszolgálóról visszaadott cookie-k automatikusan át lesznek másolva az adott szolgáltatásra vonatkozó összes jövőbeli ügyfélkérésre.
bypassProxyOnLocal Logikai érték, amely azt jelzi, hogy meg kell-e kerülni a helyi címek proxykiszolgálójának megkerülését. A mező alapértelmezett értéke: false.
closeTimeout Egy TimeSpan érték, amely megadja a bezárási művelet végrehajtásához megadott időintervallumot. Ennek az értéknek nagyobbnak vagy egyenlőnek kell lennie.Zero Az alapértelmezett érték 00:01:00.
hostnameComparisonMode Meghatározza az URI-k elemzéséhez használt HTTP-állomásnév-összehasonlító módot. Ez az attribútum típusa HostNameComparisonMode, amely azt jelzi, hogy a gazdanév használatával éri-e el a szolgáltatást az URI-n való egyeztetéskor. Az alapértelmezett érték a StrongWildcard, amely figyelmen kívül hagyja a gazdanevet az egyezésben.
maxBufferPoolSize Egy egész szám, amely meghatározza a kötés pufferkészletének maximális méretét. Az alapértelmezett érték 524 288 bájt (512 * 1024). A Windows Communication Foundation (WCF) számos része puffereket használ. A pufferek létrehozása és megsemmisítése minden alkalommal költséges, és a pufferek szemétgyűjtése is költséges. Pufferkészletek esetén a készletből puffert vehet fel, használhatja, majd a művelet befejezése után visszaadhatja a készletnek. Így elkerülhető a pufferek létrehozására és megsemmisítésére vonatkozó többletterhelés.
maxReceivedMessageSize Pozitív egész szám, amely a kötéssel konfigurált csatornán fogadható maximális üzenetméretet adja meg bájtban, beleértve a fejléceket is. A korlátot túllépő üzenet feladója SOAP-hibát kap. A fogadó eldobja az üzenetet, és létrehozza az esemény bejegyzését a nyomkövetési naplóban. Az alapértelmezett érték a 65536.
messageEncoding Meghatározza az üzenet kódolásához használt kódolót. Az érvényes értékek a következők:

- Szöveg: Használjon szöveges üzenetkódolót.
- Mtom: Üzenettovábbítási szervezeti mechanizmus 1.0 -s (MTOM) kódoló használata.
– Az alapértelmezett érték a Szöveg.

Ez az attribútum típusa WSMessageEncoding.
name A kötés konfigurációs nevét tartalmazó sztring. Ennek az értéknek egyedinek kell lennie, mert a kötés azonosítására szolgál. A .NET-keretrendszer 4-től kezdődően a kötéseknek és viselkedéseknek nem kell nevet adniuk. Az alapértelmezett konfigurációval, valamint a név nélküli kötésekkel és viselkedésekkel kapcsolatos további információkért lásd: Egyszerűsített konfiguráció és egyszerűsített konfiguráció a WCF-szolgáltatásokhoz.
openTimeout Egy TimeSpan érték, amely megadja a nyitott művelet végrehajtásához megadott időintervallumot. Ennek az értéknek nagyobbnak vagy egyenlőnek kell lennie.Zero Az alapértelmezett érték 00:01:00.
proxyAddress A HTTP-proxy címét meghatározó URI. Ha useSystemWebProxy igen true, akkor ennek a beállításnak kell lennie null. A mező alapértelmezett értéke: null.
receiveTimeout Egy TimeSpan érték, amely megadja a fogadási művelet végrehajtásához megadott időintervallumot. Ennek az értéknek nagyobbnak vagy egyenlőnek kell lennie.Zero Az alapértelmezett érték 00:01:00.
sendTimeout Egy TimeSpan érték, amely megadja a küldési művelet végrehajtásához megadott időintervallumot. Ennek az értéknek nagyobbnak vagy egyenlőnek kell lennie.Zero Az alapértelmezett érték 00:01:00.
textEncoding Meghatározza azt a karakterkészlet-kódolást, amellyel üzeneteket kell kibocsátani a kötésen. Az érvényes értékek a következők:

- UnicodeFffeTextEncoding: Unicode BigEndian kódolás.
- Utf16TextEncoding: 16 bites kódolás.
- Utf8TextEncoding: 8 bites kódolás.

Az alapértelmezett érték az Utf8TextEncoding.

Ez az attribútum típusa Encoding.
transactionFlow Logikai érték, amely meghatározza, hogy a kötés támogatja-e a WS-Transactions folyamatait. A mező alapértelmezett értéke: false.
useDefaultWebProxy Logikai érték, amely meghatározza, hogy a rendszer automatikusan konfigurált HTTP-proxyját használja-e a rendszer. A mező alapértelmezett értéke: true.

Gyermekelemek

Elem Leírás
<Biztonsági> Meghatározza a kötés biztonsági beállításait. Ez az elem típusa WSHttpSecurityElement.
<readerQuotas> Meghatározza a SOAP-üzenetek összetettségére vonatkozó korlátozásokat, amelyeket az ezzel a kötéssel konfigurált végpontok dolgozhatnak fel. Ez az elem típusa XmlDictionaryReaderQuotasElement.
<reliableSession> Meghatározza, hogy a csatornavégpontok között megbízható munkamenetek vannak-e létrehozva.

Szülőelemek

Elem Leírás
<Kötések> Ez az elem standard és egyéni kötések gyűjteményét tartalmazza.

Megjegyzések

A WSHttpBinding hasonló, mint a BasicHttpBinding , de több webszolgáltatás-funkciót biztosít. A HTTP-átvitelt használja, és üzenetbiztonságot biztosít, ahogyan az AlapszintűHttpBinding is, de tranzakciókat, megbízható üzenetküldést és WS-címzést is biztosít, amelyek alapértelmezés szerint engedélyezve vagy egyetlen vezérlőbeállítással érhetők el.

Példa

<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>

Lásd még