1 Nach dem Bearbeiten der Datei applicationhost.config (im IISExpress-Ordner in Ihren Dokumenten) sollten Ihre Site-Bindungen wie folgt aussehen:
<bindings>
<binding protocol="http" bindingInformation="*:8080:*" />
</bindings>
Bindungen bestehen aus drei Teilen. Erstens eine IP-Adresse oder Liste oder wie in diesem Fall ein Platzhalter. Zweitens die Portnummer und drittens ein Hostname, eine Liste oder ein Platzhalter (zum Filtern nach Host
Header). Für Entwicklungszwecke ist hier ein Platzhalter am besten geeignet, da Sie wahrscheinlich einen eindeutigen Port verwenden.
2 Da Sie eine nicht lokale Hostbindung verwenden, sind zusätzliche Berechtigungen erforderlich. Sie können VS als Administrator ausführen oder vorzugsweise URL-ACLs hinzufügen , um die erforderlichen Berechtigungen zu erteilen. Im folgenden Beispiel wird jedem die Berechtigung erteilt, Sie können jedoch Ihren eigenen Benutzernamen verwenden.
Hinweis: Das urlacl
muss genau mit der Bindung übereinstimmen. Ein urlacl
for http://*:8080
erlaubt also eine Bindung von *:8080:*
, aber keine Bindung von *:8080:localhost
, obwohl das letztere eine Teilmenge des ersteren ist. Dies bedeutet, wenn Sie anstelle eines Platzhalters Host-Header auflisten applicationhost.config
, müssen Sie urlacl
für jeden einen passenden Wert hinzufügen .
Die Schritte zum Konfigurieren von HTTP.sys für externen Datenverkehr ähneln dem Einrichten einer Site für die Verwendung eines reservierten Ports. Führen Sie unter Windows 7 oder Windows Vista an einer Eingabeaufforderung mit erhöhten Rechten den folgenden Befehl aus:
netsh http add urlacl url=http://*:8080/ user=DOMAIN\username
Führen Sie unter Windows XP den folgenden Befehl an einer Eingabeaufforderung mit erhöhten Rechten aus:
httpcfg set urlacl /u http://*:8080/ /a D:(A;;GX;;;WD)
Hinweis 2 Wenn das Ausführen von VS als Administrator oder das Hinzufügen von ACL-Einträgen Ihr Problem nicht löst, führen Sie IIS Express über die Befehlszeile aus und prüfen Sie, ob Meldungen zu Bindungsfehlern bei der Registrierung vorliegen. Geben Sie den folgenden Befehl ein, um von der Befehlszeile aus zu starten:
iisexpress.exe /site:"your-site-name"
3 Schließlich benötigen Sie entsprechende Firewall-Einträge. Hierfür ist es am einfachsten, die Konsole "Windows-Firewall mit erweiterter Sicherheit" zu verwenden.
Wählen Sie unter "Eingehende Regeln" die Option "Neue Regel ...".
- Der Regeltyp ist "Benutzerdefiniert".
- Programm ist Dienste-> Anpassen ...-> Nur auf Dienste anwenden. (Obwohl IIS Express kein Dienst ist, wird der verwendete HTTP-Multiplexer verwendet.)
- Das Protokoll ist TCP
- Spezifische Ports: Listen Sie alle Ports für alle Ihre IIS Express-Bindungen auf. Sie können jederzeit zu dieser Regel zurückkehren und Ports hinzufügen. (Wenn dies lästig wird, können Sie einen Bereich hinzufügen,
40000-65534
der den gesamten von Visual Studio verwendeten Bereich abdeckt. Beachten Sie jedoch, dass dies weniger sicher ist.)
- Aktion ist "Verbindung zulassen"
- Das Profil wird eines der folgenden sein. Im Zweifelsfall wählen Sie "Domain + privat".
- "Domain", wenn Ihr Desktop ein Unternehmensdesktop ist und nur auf der lokalen Domain ausgeführt wird
- "Domain + Private" Wenn es sich bei Ihrer um eine private Entwicklungsmaschine in einer Umgebung außerhalb des Unternehmens handelt oder um einen Unternehmens-Laptop, der auch von zu Hause aus arbeiten muss.
- "Domain, privat und öffentlich", wenn Sie Demonstrationen in nicht privaten Netzwerken durchführen müssen.
- Der Name sollte so etwas wie "IIS Express Dev Server" sein.