<customBinding>
Teljes körű vezérlést biztosít az üzenetkezelési verem felett a felhasználó számára.
<Konfigurációs>
<system.serviceModel>
<Kötések>
<customBinding>
Syntax
<customBinding>
<binding name="String"
closeTimeout="TimeSpan"
openTimeout="TimeSpan"
receiveTimeout="TimeSpan"
sendTimeout="TimeSpan">
<compositeDuplex clientBaseAddress="Uri" />
<reliableSession acknowledgementInterval="TimeSpan"
advancedFlowControl="Boolean"
bufferedMessagesQuota="Integer"
inactivityTimeout="TimeSpan"
maxPendingChannels="Integer"
maxRetryCount="Integer"
ordered="Boolean" />
<pnrpPeerResolver />
<windowsStreamSecurity protectionLevel="None/Sign/EncryptAndSign" />
<sslStreamSecurity requireClientCertificate="Boolean" />
<transactionFlow transactionProtocol="OleTransactions/WSAtomicTransactionOctober2004" />
<security defaultAlgorithmSuite="Basic128/Basic192/Basic256/Basic128Rsa15/Basic256Rsa15/TripleDes/TripleDesRsa15/Basic128Sha256/Basic192Sha256/TripleDesSha256/Basic128Sha256Rsa15/Basic192Sha256Rsa15/Basic256Sha256Rsa15/TripleDesSha256Rsa15"
authenticationMode="UserNameForAnonymous"
contextMode="Cookie"
defaultProtectionLevel="Sign"
enableKeyDerivation="false"
keyEntropyMode="ClientEntropy"
messageProtectionOrder="SignBeforeEncryptAndEncryptSignature"
securityVersion="WSSecurityXXX2005">
<localClientSettings cacheCookies="false"
detectReplays="false"
maxCookieCachingTime="00:07:24" />
<localServiceSettings replayCacheSize="9"
maxClockSkew="00:00:03"
replayWindow="00:07:22.2190000" />
</security>
<binaryMessageEncoding maxReadPoolSize="Integer"
maxWritePoolSize="Integer"
maxSessionSize="Integer" />
<httpsTransport manualAddressing="Boolean"
maxMessageSize="Integer"
authenticationScheme="Negotiate"
bypassProxyOnLocal="Boolean"
hostNameComparisonMode="Exact"
mapAddressingHeadersToHttpHeaders="Boolean"
proxyaddress="Uri"
realm="String"
requireClientCertificate="Boolean" />
<peerTransport manualAddressing="false"
maxMessageSize="20002"
listenIPAddress="202.10.1.9"
messageAuthentication="false"
peerNodeAuthenticationMode="None"
port="1000" />
<security defaultAlgorithmSuite="Basic128/Basic192/Basic256/Basic128Rsa15/Basic256Rsa15/TripleDes/TripleDesRsa15/Basic128Sha256/Basic192Sha256/TripleDesSha256/Basic128Sha256Rsa15/Basic192Sha256Rsa15/Basic256Sha256Rsa15/TripleDesSha256Rsa15"
authenticationMode="UserNameForAnonymous"
bootstrapBindingConfiguration="String"
bootstrapBindingSectionName="String"
defaultProtectionLevel="None/Sign/EncryptAndSign"
requireDerivedKeys="Boolean"
securityHeaderLayout="Strict/Lax/LaxTimestampFirst/LaxTimestampLast"
includeTimestamp="Boolean"
keyEntropyMode="ClientEntropy/ServerEntropy/CombinedEntropy"
messageProtectionOrder="SignBeforeEncrypt/SignBeforeEncryptAndEncryptSignature/EncryptBeforeSign"
protectTokens="Boolean"
requireSecurityContextCancellation="Boolean"
securityVersion=" WSSecurityJan2004/WSSecurityXXX2005"
requireSignatureConfirmation="Boolean">
<localClientSettings cacheCookies="Boolean"
detectReplays="Boolean"
replayCacheSize="Integer"
maxClockSkew="TimeSpan"
maxCookieCachingTime="TimeSpan"
replayWindow="TimeSpan"
sessionKeyRenewalInterval="TimeSpan"
sessionKeyRolloverInterval="TimeSpan"
reconnectOnTransportFailure="Boolean"
timestampValidityDuration="TimeSpan"
cookieRenewalThresholdPercentage="Integer" />
<localServiceSettings detectReplays="Boolean"
issuedCookieLifeTime="TimeSpan"
maxStatefulNegotiations="Integer"
replayCacheSize="Integer"
maxClockSkew="TimeSpan"
negotiationTimeout="TimeSpan"
replayWindow="TimeSpan"
inactivityTimeout="TimeSpan"
sessionKeyRenewalInterval="TimeSpan"
sessionKeyRolloverInterval="TimeSpan"
reconnectOnTransportFailure="Boolean"
maxConcurrentSessions="Integer"
timestampValidityDuration="TimeSpan" />
<federationParameters trustVersion="WSTrustApr2004/WSTrustFeb2005" />
</security>
<security defaultAlgorithmSuite="Basic128/Basic192/Basic256/Basic128Rsa15/Basic256Rsa15/TripleDes/TripleDesRsa15/Basic128Sha256/Basic192Sha256/TripleDesSha256/Basic128Sha256Rsa15/Basic192Sha256Rsa15/Basic256Sha256Rsa15/TripleDesSha256Rsa15"
authenticationMode="UserNameForAnonymous"
bootstrapBindingConfiguration="String"
bootstrapBindingSectionName="String"
defaultProtectionLevel="None/Sign/EncryptAndSign"
requireDerivedKeys="Boolean"
securityHeaderLayout="Strict/Lax/LaxTimestampFirst/LaxTimestampLast"
includeTimestamp="Boolean"
keyEntropyMode="ClientEntropy/ServerEntropy/CombinedEntropy"
messageProtectionOrder="SignBeforeEncrypt/SignBeforeEncryptAndEncryptSignature/EncryptBeforeSign"
protectTokens="Boolean"
requireSecurityContextCancellation="Boolean"
securityVersion=" WSSecurityJan2004/WSSecurityXXX2005"
requireSignatureConfirmation="Boolean" >
<localClientSettings cacheCookies="Boolean"
detectReplays="Boolean"
replayCacheSize="Integer"
maxClockSkew="TimeSpan"
maxCookieCachingTime="TimeSpan"
replayWindow="TimeSpan"
sessionKeyRenewalInterval="TimeSpan"
sessionKeyRolloverInterval="TimeSpan"
reconnectOnTransportFailure="Boolean"
timestampValidityDuration="TimeSpan"
cookieRenewalThresholdPercentage="Integer" />
<localServiceSettings detectReplays="Boolean"
issuedCookieLifeTime="TimeSpan"
maxStatefulNegotiations="Integer"
replayCacheSize="Integer"
maxClockSkew="TimeSpan"
negotiationTimeout="TimeSpan"
replayWindow="TimeSpan"
inactivityTimeout="TimeSpan"
sessionKeyRenewalInterval="TimeSpan"
sessionKeyRolloverInterval="TimeSpan"
reconnectOnTransportFailure="Boolean"
maxConcurrentSessions="Integer"
timestampValidityDuration="TimeSpan" />
<federationParameters trustVersion="WSTrustApr2004/WSTrustFeb2005" />
<genericIssuedTokenParameters>
<localIssuerIssuedTokenParameters keyType="SymmetricKey/PublicKey"
keySize="Integer"
tokenType="String" />
<issuedTokenParametersEndpointAddress address="URI"
bindingConfiguration="String"
binding="String" />
<issuedTokenClient localIssuerChannelBehaviors="String"
cacheIssuedTokens="Boolean"
maxIssuedTokenCachingTime="TimeSpan"
keyEntropyMode="ClientEntropy/ServerEntropy/CombinedEntropy" />
<issuedTokenClientBehavior issuerAddress="String"
behaviorConfiguration="String" />
<issuedTokenClientBehavior address="URI"
bindingConfiguration="String"
binding="String" />
</genericIssuedTokenParameters>
</security>
</binding>
</customBinding>
Attribútumok és elemek
A következő szakaszok az attribútumokat, a gyermekelemeket és a szülőelemeket ismertetik
Attribútumok
Attribútum | Leírás |
---|---|
closeTimeout | Egy TimeSpan érték, amely megadja a bezárási művelet befejezéséhez megadott időintervallumot. Ennek az értéknek nagyobbnak vagy egyenlőnek kell lennie, Zeromint . Az alapértelmezett érték 00:01:00. |
name | A kötés konfigurációs nevét tartalmazó sztring. Ez az érték egy felhasználó által definiált sztring, amely az egyéni kötés azonosító sztringjeként működik. A .NET-keretrendszer 4-től kezdve a kötéseknek és a viselkedéseknek nem kell nevet adniuk. További információ az alapértelmezett konfigurációról, valamint a név nélküli kötésekről és viselkedésekről: Egyszerűsített konfiguráció és egyszerűsített konfiguráció WCF-szolgáltatásokhoz. |
openTimeout | Egy TimeSpan érték, amely meghatározza a nyitott művelet végrehajtásához megadott időintervallumot. Ennek az értéknek nagyobbnak vagy egyenlőnek kell lennie, Zeromint . Az alapértelmezett érték 00:01:00. |
receiveTimeout | Egy TimeSpan érték, amely meghatározza a fogadási művelet végrehajtásához megadott időintervallumot. Ennek az értéknek nagyobbnak vagy egyenlőnek kell lennie, Zeromint . Az alapértelmezett érték 00:01:00. |
sendTimeout | Egy TimeSpan érték, amely meghatározza a küldési művelet végrehajtásához megadott időintervallumot. Ennek az értéknek nagyobbnak vagy egyenlőnek kell lennie, Zeromint . Az alapértelmezett érték 00:01:00. |
Gyermekelemek
Elem | Leírás |
---|---|
<compositeDuplex> | Kétirányú üzenetküldést ad meg az egyéni kötéshez. Olyan átvitelekkel használják, amelyek nem teszik lehetővé a kétirányú kommunikációt natív módon, például HTTP-vel. A TCP ezzel szemben natív módon teszi lehetővé a kétoldalas kommunikációt, és nem igényel ilyen kötési elemet ahhoz, hogy a szolgáltatás üzeneteket küldjön vissza az ügyfélnek. Az ügyfélnek közzé kell tennie egy címet a szolgáltatás számára, hogy kapcsolatot létesítsen és kapcsolatot létesítsen. Ezt az ügyfélcímet az ClientBaseAddress attribútum adja meg.Ez az elem típusa CompositeDuplexElement. |
<pnrpPeerResolver> | Megadja a PEER Name Resolution Protocol (PNRP) társnév-feloldóját. Ez az elem típusa PnrpPeerResolverElement. |
<reliableSession> | A WS-Reliable Üzenetkezelés beállítását adja meg. Ha ezt az elemet hozzáadja egy egyéni kötéshez, az eredményként kapott csatorna támogatja a pontosan egyszeri kézbesítési biztosítékokat. Ez az elem típusa ReliableSessionElement. |
<Biztonsági> | Megadja az egyéni kötés biztonsági beállításait. Ez az elem típusa SecurityElement. |
<sslStreamSecurity> | Megadja az SSL-streamkötés biztonsági beállításait. Ez az elem típusa SslStreamSecurityElement. |
<transactionFlow> | Megadja, hogy a kötés támogatja a tranzakciós folyamatot és az attribútum által használandó protokollt transactionProtocol . Ez az elem típusa TransactionFlowElement. |
<windowsStreamSecurity> | Megadja az egyéni kötés streamelési biztonságának beállításait. Ez az elem típusa WindowsStreamSecurityElement. |
Szülőelemek
Elem | Leírás |
---|---|
Kötések | A Windows Communication Foundation-alkalmazások összes kötését tartalmazza. |
Megjegyzések
Az egyéni kötések teljes körű vezérlést biztosítanak a WCF üzenetkezelési verem felett. Speciális testreszabott kötéseket hozhatok létre a konfigurációs elemek adott entitásokhoz való hozzáadásával. A felhasználó például kombinálhatja a szakaszt, reliableSession
a httpsTransport
szakaszt és a security
szakaszt egy megbízható és biztonságos HTTPS-alapú kötés létrehozásához.
Az egyes kötések úgy határozzák meg az üzenetvermet, hogy a veremelemek konfigurációs elemeit a veremen megjelenő sorrendben adják meg. Minden elem meghatározza és konfigurálja a verem egy elemét. Minden egyes egyéni kötésben csak egy átviteli elemnek kell lennie. E elem nélkül az üzenetkezelési verem hiányos.
Az elemek veremben való megjelenésének sorrendje számít, mivel ez az a sorrend, amelyben a műveletek az üzenetre vonatkoznak. A veremelemek ajánlott sorrendje a következő:
Tranzakciók (nem kötelező)
Reliable Messaging (nem kötelező)
Biztonság (nem kötelező)
Átvitel
Kódoló (nem kötelező)
Egyéni kötést akkor használjon, ha a rendszer által biztosított kötések egyike nem felel meg a szolgáltatás követelményeinek. Egyéni kötéssel például új átvitelt vagy új kódolót használhat egy szolgáltatásvégponton.
Az egyéni kötések a CustomBinding kötéselemek egy adott sorrendben "halmozott" gyűjteményének egyikével jönnek létre:
Felül egy nem kötelező TransactionFlowBindingElement elem látható, amely lehetővé teszi a tranzakciók áramlását.
A következő egy nem kötelező ReliableSessionBindingElement , amely a WS-ReliableMessaging specifikációban meghatározott munkamenet- és rendezési mechanizmust biztosít. Az előadás ezen fogalma a SOAP-t és a közlekedési közvetítőt is át tudja kelni.
A következő egy választható biztonsági kötési elem, amely olyan biztonsági funkciókat biztosít, mint az engedélyezés, a hitelesítés, a védelem és a bizalmasság. A következő biztonsági kötési elemeket a Windows Communication Foundation (WCF) biztosítja:
A következőkben a kötési elemek által megadott választható üzenetmintákat adhatja meg:
A következő választható átviteli frissítések/segédek kötési elemei:
A következő egy kötelező üzenetkódolási kötéselem. Használhatja saját átvitelét, vagy használhatja az alábbi üzenetkódolási kötések egyikét:
Alul van egy szükséges átviteli elem. Használhatja saját átvitelét, vagy használhatja a Windows Communication Foundation (WCF) által biztosított átviteli kötési elemek egyikét:
Az alábbi táblázat összefoglalja az egyes rétegek beállításait.
Réteg | Beállítások | Kötelező |
---|---|---|
Tranzakciós folyamat | TransactionFlowBindingElement | Nem |
Megbízhatóság | ReliableSessionBindingElement | Nem |
Biztonság | Szimmetrikus, aszimmetrikus, Transport-Level | Nem |
Alakzat módosítása | CompositeDuplexBindingElement | Nem |
Átviteli frissítések | SSL-stream, Windows-stream, társfeloldó | Nem |
Encoding | Szöveg, bináris, MTOM, egyéni | Igen |
Átvitel | TCP, Named Pipes, HTTP, HTTPS, flavors of MSMQ, Custom | Igen |
Emellett saját kötési elemeket is definiálhat, és beszúrhatja őket az előző definiált rétegek bármelyike közé.
A rendszer által biztosított kötések egyéni kötéssel történő módosításáról a How to: Customize a System-Provided Binding (Útmutató: System-Provided kötés testreszabása) című témakörben olvashat.
Lásd még
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: