<netNamedPipeBinding>
Definuje vazbu, která je zabezpečená, spolehlivá a optimalizovaná pro komunikaci mezi procesy na počítači. Ve výchozím nastavení generuje komunikační zásobník modulu runtime 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.
<Konfigurace>
<System.servicemodel>
<Vazby>
<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>
Atributy a elementy
Následující části popisují atributy, podřízené elementy a nadřazené prvky.
Atributy
Atribut | Popis |
---|---|
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 hodnotě 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, jestli se název hostitele používá k připojení ke službě při porovnávání v identifikátoru URI. Výchozí hodnota je StrongWildcard, která ignoruje název hostitele v shodě. |
Maxbufferpoolsize | Celé číslo, které určuje maximální velikost fondu vyrovnávacích pamětí 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 nič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é. S fondy vyrovnávacích pamětí můžete z fondu vzít vyrovnávací paměť, použít ji a po dokončení ji vrátit do fondu. Tím se vyhnete režijnímu zatížení při vytváření a ničení vyrovnávacích pamětí. |
Maxbuffersize | Kladné celé číslo, které určuje maximální velikost vyrovnávací paměti používané k ukládání zpráv v paměti v bajtech. Pokud je vyrovnávací paměť zaplněná, nadbytečná data zůstanou v podkladovém soketu, dokud vyrovnávací paměť nebude znovu prostor. Tato hodnota nemůže být menší než maxReceivedMessageSize atribut. Výchozí hodnota je 65536. Další informace naleznete 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 počítají do samostatného limitu určeného tímto atributem. Příchozí připojení překračující limit jsou zařazena do fronty, dokud nebude k dispozici prostor pod limitem. Odchozí připojení překračující limit se zasouvají do fronty, dokud nebude k dispozici prostor 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ého s touto vazbou. Odesílatel zprávy překračující tento limit obdrží chybu PROTOKOLU SOAP. Příjemce zprávu zahodí a vytvoří záznam události v protokolu trasování. Výchozí hodnota je 65536. |
name | Řetězec, který obsahuje konfigurační název 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í operace otevření. Tato hodnota by měla být větší nebo rovna hodnotě Zero. Výchozí hodnota je 00:01:00. |
receiveTimeout | Hodnota TimeSpan , která určuje časový interval zadaný pro dokončení operace příjmu. Tato hodnota by měla být větší nebo rovna hodnotě Zero. Výchozí hodnota je 00:10:00. |
sendTimeout | Hodnota TimeSpan , která určuje časový interval zadaný pro dokončení operace odeslání. Tato hodnota by měla být větší nebo rovna hodnotě Zero. Výchozí hodnota je 00:01:00. |
transactionFlow | Logická hodnota, která určuje, zda vazba podporuje toky WS-Transactions. Výchozí formát 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 jestli se jedná o požadavek nebo odpověď. |
Podřízené elementy
Element | Popis |
---|---|
<Zabezpečení> | Definuje nastavení zabezpečení pro vazbu. Tento prvek je typu NetNamedPipeBindingElement. |
<readerQuotas> | Definuje omezení složitosti zpráv SOAP, které mohou být zpracovány koncovými body nakonfigurovanými pomocí této vazby. Tento prvek je typu XmlDictionaryReaderQuotasElement. |
Nadřazené elementy
Element | Popis |
---|---|
<Vazby> | Tento prvek obsahuje kolekci standardních a vlastních vazeb. |
Poznámky
Ve NetNamedPipeBinding
výchozím nastavení generuje komunikační zásobník 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 vhodnou volbou systému Windows Communication Foundation (WCF) pro komunikaci na počítači. Podporuje také transakce.
Výchozí konfigurace je NetNamedPipeBinding
podobná konfiguraci poskytované NetTcpBinding
nástrojem , ale je jednodušší, protože implementace WCF je určena pouze pro použití na počítači, a proto je méně vystavených funkcí. Nejvýznamnější rozdíl spočívá v tom securityMode
, že nastavení nabízí None
pouze možnosti a Transport
. Podpora zabezpečení SOAP není zahrnutá. Chování zabezpečení je možné konfigurovat pomocí volitelného securityMode
atributu.
Příklad
Následující příklad ukazuje vazbu netNamedPipeBinding, která poskytuje komunikaci mezi procesy na stejném počítači. Pojmenované kanály nefungují na počítačích.
Vazba je určena v konfiguračních souborech pro klienta a službu. Typ vazby je určen v atributu binding
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>