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


<netNamedPipeBinding>

Olyan kötést definiál, amely biztonságos, megbízható, és a gépek közötti folyamatközi kommunikációra van optimalizálva. Alapértelmezés szerint létrehoz egy futtatókörnyezeti kommunikációs vermet, amely WS-ReliableMessaging biztosít a megbízhatósághoz, az átviteli biztonság átvitelének biztonságához, az üzenetkézbesítés nevesített csőihez és a bináris üzenetkódoláshoz.

<Konfigurációs>
  <system.serviceModel>
    <Kötések>
      <netNamedPipeBinding>

Syntax

<netNamedPipeBinding>
  <binding closeTimeout="TimeSpan"
           hostNameComparisonMode="StrongWildCard/Exact/WeakWildcard"
           maxBufferPoolSize="Integer"
           maxBufferSize="Integer"
           maxConnections="Integer"
           maxReceivedMessageSize="Integer"
           name="String"
           openTimeout="TimeSpan"
           receiveTimeout="TimeSpan"
           sendTimeout="TimeSpan"
           transactionFlow="Boolean"
           transactionProtocol="OleTransactions/WS-AtomicTransactionOctober2004"
           transferMode="Buffered/Streamed/StreamedRequest/StreamedResponse">
    <security mode="None/Transport">
      <transport protectionLevel="None/Sign/EncryptAndSign" />
    </security>
    <readerQuotas maxArrayLength="Integer"
                  maxBytesPerRead="Integer"
                  maxDepth="Integer"
                  maxNameTableCharCount="Integer"
                  maxStringContentLength="Integer" />
  </binding>
</netNamedPipeBinding>

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
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.
maxBufferSize Pozitív egész szám, amely az üzenetek memóriában való tárolásához használt puffer maximális méretét adja meg bájtban. Ha a puffer megtelt, a felesleges adatok a mögöttes szoftvercsatornában maradnak, amíg a puffernek ismét van helye. Ez az érték nem lehet kisebb, mint maxReceivedMessageSize attribútum. Az alapértelmezett érték a 65536. További információ: MaxBufferSize.
maxConnections Egy egész szám, amely megadja a szolgáltatás által létrehozott/elfogadható kimenő és bejövő kapcsolatok maximális számát. A bejövő és kimenő kapcsolatokat az attribútum által megadott külön korlátba számítja a rendszer.

A korlátot meghaladó bejövő kapcsolatok várólistára kerülnek, amíg a korlát alatti terület elérhetővé nem válik.

A korlátot meghaladó kimenő kapcsolatok várólistára kerülnek, amíg a korlát alatti terület elérhetővé nem válik.

Az alapértelmezett érték 10.
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.
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.
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:10: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.
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.
transactionProtocol Meghatározza az ezzel a kötéssel használandó tranzakciós protokollt. Az érvényes értékek a következők:

- OleTransactions
- WS-AtomicTransactionOctober2004

Az alapértelmezett érték az OleTransactions. Ez az attribútum típusa TransactionProtocol.
transferMode Egy TransferMode érték, amely meghatározza, hogy az üzenetek pufferelve vagy streamelve vannak-e, vagy kérés vagy válasz.

Gyermekelemek

Elem Leírás
<Biztonsági> Meghatározza a kötés biztonsági beállításait. Ez az elem típusa NetNamedPipeBindingElement.
<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.

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 NetNamedPipeBinding alapértelmezés szerint létrehoz egy futásidejű kommunikációs vermet, amely átviteli biztonságot, elnevezett üzenetek kézbesítésére szolgáló csöveket és bináris üzenetkódolást használ. Ez a kötés egy megfelelő Windows Communication Foundation (WCF) rendszer által biztosított választás a gépi kommunikációhoz. A tranzakciókat is támogatja.

Az alapértelmezett konfiguráció NetNamedPipeBinding hasonló a , által NetTcpBindingbiztosított konfigurációhoz, de egyszerűbb, mert a WCF implementáció csak gépi használatra készült, és következésképpen kevesebb elérhető funkció érhető el. A legfontosabb különbség az, hogy a securityMode beállítás csak a és Transport a None lehetőséget kínálja. A SOAP biztonsági támogatása nem szerepel a csomagban. A biztonsági viselkedés konfigurálható az opcionális securityMode attribútum használatával.

Példa

Az alábbi példa a netNamedPipeBinding kötést mutatja be, amely folyamatközi kommunikációt biztosít ugyanazon a gépen. A nevesített csövek nem működnek a gépeken.

A kötés az ügyfél és a szolgáltatás konfigurációs fájljaiban van megadva. A kötés típusa az binding elem attribútumában <endpoint> van megadva. Ha konfigurálni szeretné a netNamedPipeBinding kötést, és módosítani szeretné annak egyes beállításait, meg kell adnia egy kötéskonfigurációt. A végpontnak név szerint kell hivatkoznia a kötéskonfigurációra egy bindingConfiguration attribútummal. Ebben a példában a kötéskonfiguráció neve Binding1.

<configuration>
  <system.serviceModel>
    <services>
      <service name="Microsoft.ServiceModel.Samples.CalculatorService"
               behaviorConfiguration="CalculatorServiceBehavior">
        <host>
          <baseAddresses>
            <add baseAddress="http://localhost:8000/ServiceModelSamples/service" />
          </baseAddresses>
        </host>
        <!-- this endpoint is exposed at the base address provided by host: net.pipe://localhost/ServiceModelSamples/service  -->
        <endpoint address="net.pipe://localhost/ServiceModelSamples/service"
                  binding="netNamedPipeBinding"
                  contract="Microsoft.ServiceModel.Samples.ICalculator" />
        <!-- the mex endpoint is exposed at http://localhost:8000/ServiceModelSamples/service/mex -->
        <endpoint address="mex"
                  binding="mexHttpBinding"
                  contract="IMetadataExchange" />
      </service>
    </services>
    <bindings>
      <netNamedPipeBinding>
        <binding closeTimeout="00:01:00"
                 openTimeout="00:01:00"
                 receiveTimeout="00:10:00"
                 sendTimeout="00:01:00"
                 transactionFlow="false"
                 transferMode="Buffered"
                 transactionProtocol="OleTransactions"
                 hostNameComparisonMode="StrongWildcard"
                 maxBufferPoolSize="524288"
                 maxBufferSize="65536"
                 maxConnections="10"
                 maxReceivedMessageSize="65536">
          <security mode="Transport">
            <transport protectionLevel="EncryptAndSign" />
          </security>
        </binding>
      </netNamedPipeBinding>
    </bindings>
    <!--For debugging purposes set the includeExceptionDetailInFaults attribute to true-->
    <behaviors>
      <serviceBehaviors>
        <behavior name="CalculatorServiceBehavior">
          <serviceMetadata httpGetEnabled="True" />
          <serviceDebug includeExceptionDetailInFaults="False" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>
</configuration>

Lásd még