Sdílet prostřednictvím


Kódování a přenos vlastní vazby

Ukázka přenosu ukazuje, jak nakonfigurovat vlastní vazbu s různými prvky kódování přenosu a zpráv. Vlastní vazba je definována seřazeným seznamem diskrétních vazeb prvků.

Poznámka:

Postup nastavení a pokyny k sestavení pro tuto ukázku najdete na konci tohoto tématu.

Tato ukázka je založená na místním hostiteli a byla upravena tak, aby konfigurovala tři koncové body pro podporu přenosů HTTP, TCP a NamedPipe s vlastními vazbami. Konfigurace klienta byla podobně upravena a kód klienta se změnil tak, aby komunikoval s jednotlivými třemi koncovými body.

Ukázka ukazuje, jak nakonfigurovat vlastní vazbu, která podporuje konkrétní kódování přenosu a zpráv. Toho se dosahuje konfigurací přenosu a kódování zpráv pro binding prvek. Řazení prvků vazby je důležité při definování vlastní vazby, protože každá představuje vrstvu v zásobníku kanálu (viz vlastní vazby). Tato ukázka konfiguruje tři vlastní vazby: přenos HTTP s kódováním textu, přenos TCP s kódováním textu a přenos NamedPipe s binárním kódováním.

Konfigurace služby definuje vlastní vazby následujícím způsobem:

<bindings>
    <customBinding>
        <binding name="HttpBinding" >
            <textMessageEncoding
                messageVersion="Soap12Addressing10"/>
            <httpTransport />
        </binding>
        <binding name="TcpBinding" >
            <textMessageEncoding />
            <tcpTransport />
        </binding>
        <binding name="NamedPipeBinding" >
            <binaryMessageEncoding />
            <namedPipeTransport />
        </binding>
    </customBinding>
</bindings>

Při spuštění ukázky se požadavky na operace a odpovědi zobrazí v okně služby i konzoly klienta. Klient komunikuje s jednotlivými třemi koncovými body, přistupuje k prvnímu protokolu HTTP, pak TCP a nakonec PojmenovanýPipe. Stisknutím klávesy ENTER v každém okně konzoly vypnete službu a klienta.

Vazba namedPipeTransport nepodporuje operace mezi počítači. Používá se pouze pro komunikaci na stejném počítači. Proto při spuštění ukázky ve scénáři křížového počítače okomentujte následující řádky v souboru kódu klienta:

CalculatorClient client = new CalculatorClient("default");
Console.WriteLine("Communicate with named pipe endpoint.");
// Call operations.
DoCalculations(client);
//Closing the client gracefully closes the connection and cleans up resources
client.Close();
Dim client As New CalculatorClient("default")
Console.WriteLine("Communicate with named pipe endpoint.")
' call operations
DoCalculations(client)
'Closing the client gracefully closes the connection and cleans up resources
client.Close()

Poznámka:

Pokud použijete Svcutil.exe k opětovnému vygenerování konfigurace pro tuto ukázku, nezapomeňte upravit název koncového bodu v konfiguraci klienta tak, aby odpovídal kódu klienta.

Nastavení, sestavení a spuštění ukázky

  1. Ujistěte se, že jste pro ukázky windows Communication Foundation provedli jednorázovou instalační proceduru.

  2. Pokud chcete sestavit edici C#, C++ nebo Visual Basic .NET řešení, postupujte podle pokynů v části Sestavení ukázek windows Communication Foundation.

  3. Pokud chcete spustit ukázku v konfiguraci s jedním nebo více počítači, postupujte podle pokynů v části Spuštění ukázek windows Communication Foundation.