Поделиться через


NetNamedPipeBinding

В примере NamedPipe показана netNamedPipeBinding привязка, которая обеспечивает межпроцессное взаимодействие на одном компьютере. Именованные каналы не работают между разными компьютерами. Этот пример основан на службе калькулятора «The Getting Started».

В этом примере сервис размещён самостоятельно. Как клиент, так и служба являются консольными приложениями.

Замечание

Процедура установки и инструкции по сборке для этого примера находятся в конце этого раздела.

Привязка указывается в файлах конфигурации для клиента и службы. Тип привязки указывается в атрибуте binding<конечной точки> или <конечной точки><клиента> элемента, как показано в следующем примере конфигурации.

<endpoint address="net.pipe://localhost/ServiceModelSamples/service"
          binding="netNamedPipeBinding"
          contract="Microsoft.ServiceModel.Samples.ICalculator" />

В предыдущем примере показано, как настроить конечную точку для использования netNamedPipeBinding привязки с параметрами по умолчанию. Если вы хотите настроить netNamedPipeBinding привязку и изменить некоторые его параметры, необходимо определить конфигурацию привязки. Конечная точка должна ссылаться на конфигурацию привязки, используя атрибут bindingConfiguration.

<endpoint address="net.pipe://localhost/ServiceModelSamples/service"
          binding="netNamedPipeBinding"
          bindingConfiguration="Binding1"
          contract="Microsoft.ServiceModel.Samples.ICalculator" />

В этом примере конфигурация привязки называется Binding1 и имеет следующее определение:

<bindings>
  <!--
        Following is the expanded configuration section for a NetNamedPipeBinding.
        Each property is configured with the default value.
     -->
  <netNamedPipeBinding>
    <binding name="Binding1"
             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>

При запуске примера запросы и ответы операции отображаются в окне консоли клиента. Нажмите клавишу ВВОД в окне клиента, чтобы завершить работу клиента.

Add(100,15.99) = 115.99
Subtract(145,76.54) = 68.46
Multiply(9,81.25) = 731.25
Divide(22,7) = 3.14285714285714

Press <ENTER> to terminate client.

Настройка, сборка и запуск примера

  1. Убедитесь, что вы выполнили процедуру настройки One-Time для образцов Windows Communication Foundation.

  2. Чтобы создать версию решения на C# или Visual Basic .NET, следуйте инструкциям по сборке примеров Windows Communication Foundation .

  3. Чтобы запустить пример в одной конфигурации компьютера, следуйте инструкциям в разделе "Запуск примеров Windows Communication Foundation".