Mehrere Instanzen eines selbst gehosteten WCF-Dienstes

Wir haben einen "Worker" -Dienst, der von einer Konsolenanwendung in c # ausgeführt wird. Für die Entwicklung haben wir immer eine einzelne Instanz dieses Dienstes ausgeführt, die Datenblöcke abruft und einige Berechnungen durchführt. Diese Datenblöcke werden von einem anderen Dienst bereitgestellt (der den Überblick behält wie viel Daten noch übrig sind usw.)

Jetzt wollen wir in der Qualitätssicherung mehrere Instanzen des "Worker" -Dienstes gleichzeitig ausführen (auf demselben Computer). Sobald die zweite Instanz gestartet wird, tritt jedoch eine Ausnahme auf:

Der TransportManager konnte den bereitgestellten URI nicht mit dem NetTcpPortSharing-Dienst überwachen: Der URI ist bereits beim Dienst registriert.

Wir verwenden netTcpBinding und die Endpunktadresse ist in der app.config fest codiert und bleibt dieselbe. Aus diesem Grund gehe ich davon aus, dass wir diesen Fehler erhalten.

<services>
    <service behaviorConfiguration="CoreBehavior" name="WorkerService">
        <endpoint address="net.tcp://localhost:8001/WorkerAssignment" binding="netTcpBinding" contract="IWorkerService" bindingConfiguration="CoreTcpBinding"/>
    </service>
</services>
<bindings>
    <netTcpBinding>
        <binding name="CoreTcpBinding" portSharingEnabled="true">
            <security mode="None"/>
        </binding>
    </netTcpBinding>
</bindings> 

Anwendungscode:

var host = new ServiceHost(typeof(WorkerService));
host.Open();

Wie stellen wir für jede Instanz einen anderen URI zur Verfügung, damit zumindest der Port gleich bleibt?

ODER Gibt es eine andere Möglichkeit, mehrere Instanzen desselben Dienstes auszuführen?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage