NetNamedPipeBinding
Het namedPipe-voorbeeld demonstreert de netNamedPipeBinding
binding, die communicatie tussen processen op dezelfde computer biedt. Benoemde pijpen werken niet tussen computers. Dit voorbeeld is gebaseerd op de rekenmachineservice Aan de slag .
In dit voorbeeld wordt de service zelf-hostend. Zowel de client als de service zijn consoletoepassingen.
Notitie
De installatieprocedure en build-instructies voor dit voorbeeld bevinden zich aan het einde van dit onderwerp.
De binding wordt opgegeven in de configuratiebestanden voor de client en service. Het bindingstype wordt opgegeven in het kenmerk van het binding
<eindpunt> of< eindpunt> van <het clientelement>, zoals wordt weergegeven in de volgende voorbeeldconfiguratie:
<endpoint address="net.pipe://localhost/ServiceModelSamples/service"
binding="netNamedPipeBinding"
contract="Microsoft.ServiceModel.Samples.ICalculator" />
In het vorige voorbeeld ziet u hoe u een eindpunt configureert voor het gebruik van de netNamedPipeBinding
binding met de standaardinstellingen. Als u de netNamedPipeBinding
binding wilt configureren en enkele van de instellingen wilt wijzigen, moet u een bindingsconfiguratie definiëren. Het eindpunt moet verwijzen naar de bindingsconfiguratie op naam met een bindingConfiguration
kenmerk.
<endpoint address="net.pipe://localhost/ServiceModelSamples/service"
binding="netNamedPipeBinding"
bindingConfiguration="Binding1"
contract="Microsoft.ServiceModel.Samples.ICalculator" />
In dit voorbeeld heeft de bindingsconfiguratie de naam Binding1
en de volgende definitie:
<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>
Wanneer u het voorbeeld uitvoert, worden de bewerkingsaanvragen en -antwoorden weergegeven in het clientconsolevenster. Druk op Enter in het clientvenster om de client af te sluiten.
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.
Het voorbeeld instellen, compileren en uitvoeren
Zorg ervoor dat u de eenmalige installatieprocedure voor de Windows Communication Foundation-voorbeelden hebt uitgevoerd.
Als u de C# of Visual Basic .NET-editie van de oplossing wilt bouwen, volgt u de instructies in het bouwen van de Windows Communication Foundation-voorbeelden.
Als u het voorbeeld wilt uitvoeren in één computerconfiguratie, volgt u de instructies in Het uitvoeren van de Windows Communication Foundation-voorbeelden.