CustomChannelsTesterCustomChannelsTester

Der CustomChannelsTester ist ein Tool, das Sie zum Testen Ihrer benutzerdefinierten Channelimplementierungen mit einem Satz vordefinierter Dienstverträge verwenden können.The CustomChannelsTester is a tool that you can use to test your custom channel implementations against a set of predefined service contracts. Sie können einen Satz von Dienstverträgen auswählen und diesen mithilfe einer XML-Datei an das Tool übergeben.You can select the set of service contracts and pass it to the tool using an XML file. Anschließend generiert das Tool den Dienst und den Client, die die benutzerdefinierten Channelimplementierungen während des Nachrichtenaustauschs ausführen.The tool then generates the service and client that exercises your custom channel implementations during message exchange.

So erstellen Sie das ToolTo build the tool

  1. Führen Sie zum Erstellen der Projektmappe die Anweisungen im Erstellen der Windows Communication Foundation-Beispiele.To build the solution, follow the instructions in Building the Windows Communication Foundation Samples.

  2. Während der Erstellung der Projektmappe werden drei Dateien generiert: "CustomChannelsTester.exe", "TestSpec.xml" und "SampleRun.cmd".Building the solution generates three files: CustomChannelsTester.exe, TestSpec.xml and SampleRun.cmd. Die Datei "samplerun.cmd" hat eine Beispielbefehlszeile, die zeigt, wie Sie dieses Tool zum Testen verwenden die Transport: UDP Beispiel.The file SampleRun.cmd has a sample command line that shows how to use this tool to test the Transport: UDP sample.

So führen Sie das Tool ausTo run the tool

  • Geben Sie an der Eingabeaufforderung folgenden Befehl ein:At the command prompt type the following command:

    CustomChannelsTester.exe /binding:YourCustomBindngName /dll:TheAssemblyWhereThisTypeisDefined /testspec:XmlFileNameWhichContainsTestOptions  
    

    Die Verwendung der /binding-Option ist erforderlich.Using the /binding option is required.

    /dll ist erforderlich, wenn die "Bindung" keine vom System und von Windows Communication Foundation (WCF)Windows Communication Foundation (WCF) bereitgestellte Bindung ist./dll is required if "binding" is not a system-provided binding provided by Windows Communication Foundation (WCF)Windows Communication Foundation (WCF).

    /testspec ist optional./testspec is optional.

    Auf diese Weise werden Server und Clients auf der Grundlage der Testspezifikationen und der Bindung erstellt.This creates server and clients based on the test specifications and the binding.

    Der Client und der Server werden ausgeführt und die Ergebnisse zurückgegeben.Executes the client and server and returns the results.

    Folgendes ist der Beispiel-XML-Code für die Beschreibung der Testspezifikationen (testspec.xml):The following is the sample XML for the description of the test specifications (testspec.xml):

    <TestSpec xmlns="http://WCF/TestSpec" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"   
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >  
    <ServiceContract>  
    <!-- Test a contract which has oneway / twoway operations. If you set ExpandAll = true, both types of contracts are tested -->    <IsOneWay ExpandAll="true">true</IsOneWay>  
    <!-- Test a contract with Asynchronous / Synchronous Operations-->  
        <IsAsync>false</IsAsync>   
    <!-- Test a sessionful / sessionless contract-->      
        <IsSession ExpandAll="true">true</IsSession>  
    <!-- If the Service Contract includes a CallBack Contract-->      
        <IsCallBack ExpandAll="true">true</IsCallBack>  
    </ServiceContract>  
    <TestDetails>  
    <!-- Name of the machine that runs the server - required if you want to run the test crossmachine-->  
        <ServerName>ReplaceThisWithTheServerMachineName</ServerName>  
    <!-- Port Number - Optional-->  
        <Port>8000</Port>  
    <!--URI for the callBack address for the CLient. The client will receive the messages from the server on this address in case of a CallBack Contract-->  
        <ClientCallBackAddress/>      
    <!-- Duration (in sec) after the server has started, it times out - optional(default = 300sec) -->  
        <ServerTimeout>300</ServerTimeout>  
    <!-- Duration (in sec) before the Client initializes -optional(default = 60sec) -->  
        <ClientTimeout>60</ClientTimeout>  
    <!-- Number of clients for each service - optional(default = 1) -->  
        <NumberOfClients>1</NumberOfClients>  
    <!-- Number of messages each client sends to the service - optional(default = 1) -->  
        <MessagesPerClient>1</MessagesPerClient>  
    </TestDetails>  
    </TestSpec>  
    

Siehe auchSee Also