Ich habe einen Azure Cloud Service-TCP-Listener in C# erstellt, und jetzt versuche ich, es lokal zu debuggen. Die folgende Servicedefinition macht den Port verfügbar, an dem ich interessiert bin. Wenn sie jedoch lokal ausgeführt wird, ist die Adresse an localhost
gebunden, die für andere Geräte im selben Netzwerk nicht sichtbar ist.Verfügbarmachen eines Ports extern in Azure Compute Emulator
<?xml version="1.0" encoding="utf-8"?>
<ServiceDefinition name="Foo.Listener.Azure" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" schemaVersion="2015-04.2.6">
<WorkerRole name="Foo.Listener" vmsize="Small">
<ConfigurationSettings>
<Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" />
</ConfigurationSettings>
<Endpoints>
<InputEndpoint name="Foo Protocol" protocol="tcp" port="9100" localPort="9100" />
</Endpoints>
</WorkerRole>
</ServiceDefinition>
Ich habe versucht, eine Port-Proxy mit dem folgenden Befehl hinzufügen:
netsh interface portproxy add v4tov4 listenport=9100 connectaddress=localhost connectport=9100 protocol=tcp
Allerdings scheint die Compute Emulator die Portnummer 9100
in Gebrauch ist zu denken, wenn ich dies tun, und es wählt 9101
stattdessen. Wie kann ich meine Worker-Rolle lokal ausführen und zulassen, dass externe Verbindungen akzeptiert werden?