2016-05-08 4 views
0

Ich habe einen Azure Cloud-Dienst mit zwei Instanzen, auf denen jeweils ein WCF-Dienst ausgeführt wird. Wir müssen regelmäßig einen Befehl ausführen, der im Grunde "www.mywcfservice.com/refreshcache" lautet. Im Moment kann ich RDP in jede einzelne Instanz schreiben und lokale Jobs ausführen, aber ich möchte diese Jobs in etwas wie den Azure-Scheduler stellen stattdessen.Zugriff auf einzelne Azure Cloud Service-Endpunkte

Gerade jetzt, wenn ich "www.mywcfservice.com/refreshcache" aufrufen, bekomme ich 1 der 2 Maschinen zufällig, und dieser einzelne Rechner wird die Aktualisierung durchführen.

Wenn ich RDP in jede VM und eine IPConfig ausführen bekomme ich IPs, aber von außerhalb der VMs kann ich nicht auf die spezifischen Maschinen zugreifen.

Was ich gerne wissen würde, ist, wie kann ich auf JEDEN VM spezifischen Endpunkt zugreifen und den Job ausführen? Sind die einzelnen VMs ausgesetzt?

Antwort

0

Die InstanceInputEndpoint ermöglicht Ihnen den Zugriff auf eine bestimmte Rolleninstanz und kann so konfiguriert werden, dass sie eine Reihe von Ports umfasst, wobei jeder Port einer Instanz zugeordnet wird. Sie würden es mit so etwas wie dies in Ihrer Konfiguration einzurichten:

<Endpoints> 
    <InstanceInputEndpoint name="InstanceEndpoint" protocol="tcp" localPort="8000"> 
    <AllocatePublicPortFrom> 
     <FixedPortRange min="8000" max="8010" /> 
    </AllocatePublicPortFrom> 
    </InstanceInputEndpoint> 
</Endpoints> 

Mit einem WCF-Dienst, könnten Sie etwas mehr Arbeit um Adressfilterung zu tun haben (siehe this blog post, die ein AddressFilterMode Dienstverhalten zeigt).