Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Определяет привязку, которая является безопасной, надежной, оптимизированной для обмена данными между процессами на компьютере. По умолчанию он создает стек обмена данными среды выполнения с WS-ReliableMessaging для надежности, безопасности транспорта для обеспечения безопасности передачи, именованных каналов для доставки сообщений и кодирования двоичных сообщений.
<configuration>
<system.serviceModel>
<bindings>
<netNamedPipeBinding>
Синтаксис
<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>
Атрибуты и элементы
В следующих разделах описаны атрибуты, дочерние элементы и родительские элементы
Attributes
| Свойство | Description |
|---|---|
| closeTimeout | TimeSpan Значение, указывающее интервал времени, предоставленный для завершения операции закрытия. Это значение должно быть больше или равно Zero. Значение по умолчанию — 00:01:00. |
| hostNameComparisonMode | Указывает режим сравнения имен узла HTTP, используемый для синтаксического анализа URI. Этот атрибут имеет тип HostNameComparisonMode, который указывает, используется ли имя узла для достижения службы при сопоставлении с URI. Значение по умолчанию, StrongWildcardкоторое игнорирует имя узла в совпадении. |
| maxBufferPoolSize | Целое число, указывающее максимальный размер буферного пула для этой привязки. Значение по умолчанию — 524 288 байт (512 * 1024). Во многих частях Windows Communication Foundation (WCF) используются буферы. Создание и уничтожение буферов каждый раз, когда они используются, является дорогостоящим, а сбор мусора для буферов также является дорогостоящим. С помощью буферных пулов можно взять буфер из пула, использовать его и вернуть его в пул после завершения. Таким образом, не требуется затраты на создание и уничтожение буферов. |
| maxBufferSize | Положительное целое число, указывающее максимальный размер буфера, используемого для хранения сообщений в памяти. Если буфер заполнен, избыточные данные остаются в базовом сокете до тех пор, пока буфер не снова не будет места. Это значение не может быть меньше maxReceivedMessageSize атрибута. Значение по умолчанию — 65536. Дополнительные сведения см. в разделе MaxBufferSize. |
| maxConnections | Целое число, указывающее максимальное количество исходящих и входящих подключений, которое будет создавать и принимать служба. Входящие и исходящие подключения учитываются в соответствии с отдельным ограничением, указанным этим атрибутом. Входящий трафик, превышающий ограничение, помещаются в очередь до тех пор, пока не станет доступно пространство ниже предела. Исходящие подключения, превышающие ограничение, помещаются в очередь до тех пор, пока не станет доступно пространство ниже предела. Значение по умолчанию равно 10. |
| maxReceivedMessageSize | Положительное целое число, указывающее максимальный размер сообщения в байтах, включая заголовки, которые можно получить на канале, настроенном с этой привязкой. Отправитель сообщения, превышающего это ограничение, получит ошибку SOAP. Получатель удаляет сообщение и создает запись события в журнале трассировки. Значение по умолчанию — 65536. |
| имя | Строка, содержащая имя конфигурации привязки. Это значение должно быть уникальным, так как оно используется в качестве идентификации привязки. Начиная с .NET Framework 4 привязки и поведение не требуются для имени. Дополнительные сведения о конфигурации по умолчанию и безымяных привязках и поведении см. в статье "Упрощенная конфигурация " и "Упрощенная конфигурация" для служб WCF. |
| openTimeout | TimeSpan Значение, указывающее интервал времени, предоставленного для завершения операции открытия. Это значение должно быть больше или равно Zero. Значение по умолчанию — 00:01:00. |
| receiveTimeout | TimeSpan Значение, указывающее интервал времени, предоставленного для завершения операции получения. Это значение должно быть больше или равно Zero. Значение по умолчанию — 00:10:00. |
| sendTimeout | TimeSpan Значение, указывающее интервал времени, предоставленного для завершения операции отправки. Это значение должно быть больше или равно Zero. Значение по умолчанию — 00:01:00. |
| transactionFlow | Логическое значение, указывающее, поддерживает ли привязка поток WS-Transactions. Значение по умолчанию — false. |
| transactionProtocol | Указывает протокол транзакций, используемый с этой привязкой. Допустимые значения: — OleTransactions - WS-AtomicTransactionOctober2004 Значение по умолчанию — OleTransactions. Этот атрибут имеет тип TransactionProtocol. |
| transferMode | TransferMode Значение, указывающее, буферичены ли сообщения или передаются в поток, а также запрос или ответ. |
Дочерние элементы
| Элемент | Description |
|---|---|
| <безопасность> | Определяет параметры безопасности для привязки. Этот элемент имеет тип NetNamedPipeBindingElement. |
| <readerQuotas> | Определяет ограничения сложности сообщений SOAP, которые могут обрабатываться конечными точками, настроенными с помощью этой привязки. Этот элемент имеет тип XmlDictionaryReaderQuotasElement. |
Родительские элементы
| Элемент | Description |
|---|---|
| <Привязки> | Этот элемент содержит коллекцию стандартных и пользовательских привязок. |
Замечания
По NetNamedPipeBinding умолчанию создается стек связи среды выполнения, который использует безопасность транспорта, именованные каналы для доставки сообщений и кодировку двоичных сообщений. Эта привязка — это подходящий системный вариант Windows Communication Foundation (WCF) для связи на компьютере. Она также поддерживает транзакции.
Конфигурация по умолчанию аналогична конфигурации NetNamedPipeBinding , предоставленной этой NetTcpBindingконфигурацией, но проще, так как реализация WCF предназначена только для использования на компьютере и, следовательно, меньше доступных функций. Наиболее заметным отличием является то, что securityMode параметр предлагает None только параметры и Transport параметры. Поддержка безопасности SOAP не включена. Поведение безопасности настраивается с помощью необязательного securityMode атрибута.
Example
В следующем примере показана привязка netNamedPipeBinding, которая обеспечивает межпроцессное взаимодействие на одном компьютере. Именованные каналы не работают на компьютерах.
Привязка указывается в файлах конфигурации для клиента и службы. Тип привязки указывается в binding атрибуте <endpoint> элемента. Если вы хотите настроить привязку netNamedPipeBinding и изменить некоторые его параметры, необходимо определить конфигурацию привязки. Конечная точка должна ссылаться на конфигурацию привязки по имени атрибута bindingConfiguration . В этом примере конфигурация привязки называется 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>