Wiele instancji samodzielnej usługi WCF

Mamy „robotniczą” usługę uruchamianą z aplikacji konsoli w c #, dla rozwoju zawsze uruchamialiśmy jedną instancję tej usługi, która pobiera porcje danych i wykonuje pewne obliczenia, te fragmenty danych są dostarczane przez inną usługę (która śledzi ile danych pozostało itd.)

Teraz w QA chcemy uruchomić wiele instancji usługi „pracownik” jednocześnie (na tej samej maszynie). Jednak otrzymujemy wyjątek, gdy tylko uruchomiona zostanie druga instancja:

TransportManager nie mógł nasłuchiwać na dostarczonym URI przy użyciu usługi NetTcpPortSharing: URI jest już zarejestrowany w usłudze.

Używamy netTcpBinding, a adres punktu końcowego jest na stałe wpisany w app.config i pozostaje taki sam, dlatego zakładam, że otrzymujemy ten błąd.

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

Kod aplikacji:

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

Jak zapewnić inny URI dla każdej instancji, aby przynajmniej jeden port pozostał taki sam?

LUB Jeśli istnieje inny sposób uruchamiania wielu wystąpień tej samej usługi?

questionAnswers(3)

yourAnswerToTheQuestion