Megosztás:


NetNamedPipeBinding

A NamedPipe minta bemutatja a netNamedPipeBinding kötést, amely folyamatközi kommunikációt biztosít ugyanazon a gépen. A nevesített csövek nem működnek különböző gépek között. Ez a minta az Első lépések kalkulátor szolgáltatáson alapul.

Ebben a mintában a szolgáltatás saját üzemeltetésű. Az ügyfél és a szolgáltatás egyaránt konzolalkalmazás.

Megjegyzés:

A minta telepítési eljárása és összeállítási utasításai a témakör végén találhatók.

A kötés az ügyfél és a szolgáltatás konfigurációs fájljaiban van megadva. A kötéstípus az binding ügyfélelem végpontjának<> vagy <végpontjának><attribútumában van megadva, ahogyan az a következő mintakonfigurációban is látható:>

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

Az előző minta bemutatja, hogyan konfigurálhat végpontot a netNamedPipeBinding kötés alapértelmezett beállításokkal való használatára. Ha konfigurálni szeretné a netNamedPipeBinding kötést, és módosítani szeretné annak néhány beállítását, meg kell adnia egy kötéskonfigurációt. A végpontnak név szerint kell hivatkoznia a kötés konfigurációra egy bindingConfiguration attribútummal.

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

Ebben a mintában a kötéskonfiguráció neve Binding1 a következő definícióval rendelkezik:

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

A minta futtatásakor a műveleti kérelmek és a válaszok megjelennek az ügyfélkonzol ablakában. Nyomja le az ENTER billentyűt az ügyfélablakban az ügyfél leállításához.

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.

A példa beállítása, elkészítése és futtatása

  1. Győződjön meg arról, hogy elvégezte a Windows Communication Foundation-minták One-Time beállítási eljárását.

  2. A megoldás C# vagy Visual Basic .NET kiadásának létrehozásához kövesse Windows Communication Foundation-mintákcímű témakör utasításait.

  3. Ha a mintát egyetlen gépkonfigurációban szeretné futtatni, kövesse a Windows Communication Foundation-minták futtatásával kapcsolatos utasításokat.