<netNamedPipeBinding>

Definuje vazbu, která je zabezpečená, spolehlivá a optimalizovaná pro komunikaci mezi procesy na počítači. Ve výchozím nastavení generuje zásobník komunikace za běhu s WS-ReliableMessaging pro spolehlivost, zabezpečení přenosu pro zabezpečení přenosu, pojmenované kanály pro doručování zpráv a kódování binárních zpráv.

<configuration>
  <system.serviceModel>
    <bindings>
      <netNamedPipeBinding>

Syntaxe

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

Atributy a prvky

Následující části popisují atributy, podřízené prvky a nadřazené prvky.

Attributes

Vlastnost Description
closeTimeout Hodnota TimeSpan , která určuje časový interval zadaný pro dokončení operace uzavření. Tato hodnota by měla být větší nebo rovna Zero. Výchozí hodnota je 00:01:00.
hostNameComparisonMode Určuje režim porovnání názvů hostitelů HTTP, který se používá k analýze identifikátorů URI. Tento atribut je typu HostNameComparisonMode, který označuje, zda se název hostitele používá k dosažení služby při porovnávání identifikátoru URI. Výchozí hodnota je StrongWildcard, která ignoruje název hostitele ve shodě.
maxBufferPoolSize Celé číslo, které určuje maximální velikost fondu vyrovnávací paměti pro tuto vazbu. Výchozí hodnota je 524 288 bajtů (512 × 1024). Mnoho částí windows Communication Foundation (WCF) používá vyrovnávací paměti. Vytváření a zničení vyrovnávacích pamětí při každém jejich použití je nákladné a uvolňování paměti pro vyrovnávací paměti je také nákladné. U fondů vyrovnávací paměti můžete po dokončení vzít vyrovnávací paměť z fondu, použít ji a vrátit ji do fondu. Proto se vyhnete režii při vytváření a zničení vyrovnávacích pamětí.
maxBufferSize Kladné celé číslo, které určuje maximální velikost vyrovnávací paměti použité k ukládání zpráv do paměti. Pokud je vyrovnávací paměť plná, nadbytečná data zůstanou v podkladovém soketu, dokud vyrovnávací paměť znovu nebude mít prostor. Tato hodnota nemůže být menší než maxReceivedMessageSize atribut. Výchozí hodnota je 65536. Další informace najdete v tématu MaxBufferSize.
maxConnections Celé číslo, které určuje maximální počet odchozích a příchozích připojení, která služba vytvoří nebo přijme. Příchozí a odchozí připojení se započítávají do samostatného limitu určeného tímto atributem.

Příchozí připojení nad rámec limitu se zařadí do fronty, dokud nebude k dispozici mezera pod limitem.

Odchozí připojení nad rámec limitu se zařadí do fronty, dokud nebude k dispozici mezera pod limitem.

Výchozí hodnota je 10.
maxReceivedMessageSize Kladné celé číslo, které určuje maximální velikost zprávy v bajtech, včetně hlaviček, které lze přijímat v kanálu nakonfigurované pomocí této vazby. Odesílatel zprávy překračující tento limit obdrží chybu SOAP. Příjemce zprávu zahodí a vytvoří záznam události v protokolu trasování. Výchozí hodnota je 65536.
název Řetězec, který obsahuje název konfigurace vazby. Tato hodnota by měla být jedinečná, protože se používá jako identifikace vazby. Počínaje rozhraním .NET Framework 4 není nutné, aby vazby a chování měly název. Další informace o výchozí konfiguraci a beznázvových vazbách a chování najdete v tématu Zjednodušená konfigurace a zjednodušená konfigurace pro služby WCF.
openTimeout Hodnota TimeSpan , která určuje časový interval zadaný pro dokončení otevřené operace. Tato hodnota by měla být větší nebo rovna Zero. Výchozí hodnota je 00:01:00.
receiveTimeout Hodnota TimeSpan , která určuje časový interval určený k dokončení operace příjmu. Tato hodnota by měla být větší nebo rovna Zero. Výchozí hodnota je 00:10:00.
sendTimeout Hodnota TimeSpan , která určuje časový interval určený k dokončení operace odeslání. Tato hodnota by měla být větší nebo rovna Zero. Výchozí hodnota je 00:01:00.
transactionFlow Logická hodnota, která určuje, zda vazba podporuje tok WS-Transactions. Výchozí hodnota je false.
transactionProtocol Určuje transakční protokol, který se má použít s touto vazbou. Platné hodnoty jsou

- OleTransactions
- WS-AtomicTransactionOctober2004

Výchozí hodnota je OleTransactions. Tento atribut je typu TransactionProtocol.
transferMode Hodnota TransferMode , která určuje, jestli se zprávy ukládají do vyrovnávací paměti nebo streamují, nebo požadavek nebo odpověď.

Podřízené prvky

prvek Description
<bezpečnost> Definuje nastavení zabezpečení pro vazbu. Tento prvek je typu NetNamedPipeBindingElement.
<readerQuotas> Definuje omezení složitosti zpráv SOAP, které lze zpracovat koncovými body nakonfigurovanými touto vazbou. Tento prvek je typu XmlDictionaryReaderQuotasElement.

Nadřazené prvky

prvek Description
<na něčí žádosti> Tento element obsahuje kolekci standardních a vlastních vazeb.

Poznámky

Ve NetNamedPipeBinding výchozím nastavení generuje zásobník komunikace za běhu, který používá zabezpečení přenosu, pojmenované kanály pro doručování zpráv a kódování binární zprávy. Tato vazba je vhodná volba systému Windows Communication Foundation (WCF) pro komunikaci na počítači. Podporuje také transakce.

Výchozí konfigurace je NetNamedPipeBinding podobná konfiguraci, kterou NetTcpBindingposkytuje , ale je jednodušší, protože implementace WCF je určena pouze pro použití na počítači a v důsledku toho existuje méně vystavených funkcí. Nejdůležitější rozdíl spočívá v securityMode tom, že nastavení nabízí None pouze možnosti a Transport možnosti. Podpora zabezpečení PROTOKOLU SOAP není zahrnutá. Chování zabezpečení je konfigurovatelné pomocí volitelného securityMode atributu.

Example

Následující příklad ukazuje netNamedPipeBinding vazby, která poskytuje komunikaci mezi procesy na stejném počítači. Pojmenované kanály nefungují napříč počítači.

Vazba je určena v konfiguračních souborech klienta a služby. Typ vazby je zadán v binding atributu elementu <endpoint> . Pokud chcete nakonfigurovat vazbu netNamedPipeBinding a změnit některá její nastavení, musíte definovat konfiguraci vazby. Koncový bod musí odkazovat na konfiguraci vazby podle názvu s atributem bindingConfiguration . V tomto příkladu má konfigurace vazby název 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>

Viz také