Ich entwickle ein Projekt in VS2010 und kann meine Site lokal über IIS Express anzeigen. Ich möchte den externen Zugriff über das Netzwerk aktivieren.
Alles das hat mir meine Forschungen zu diesem Blog - Eintrag gesendet: http://blogs.iis.net/vaidyg/archive/2010/07/29/serving-external-traffic-with-webmatrix-beta.aspx , die hilfreich ist , aber tut Es scheint nicht zu zeigen, wie Bindungen für ein in Visual Studio gestartetes Projekt konfiguriert werden (ich kann den Bildschirm in den Screenshots nicht finden und habe Bindungsinformationen in applicationhost.config bearbeitet, aber es scheint nicht wiedergegeben zu werden, wenn ich die Site aus starte visuelles Studio).
Antworten:
1 Nach dem Bearbeiten der Datei applicationhost.config (im IISExpress-Ordner in Ihren Dokumenten) sollten Ihre Site-Bindungen wie folgt aussehen:
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. Einurlacl
forhttp://*: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 auflistenapplicationhost.config
, müssen Sieurlacl
für jeden einen passenden Wert hinzufügen .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:
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 ...".
40000-65534
der den gesamten von Visual Studio verwendeten Bereich abdeckt. Beachten Sie jedoch, dass dies weniger sicher ist.)quelle
C:\<Path\To\Solution>\.vs\config\applicationhost.config
. (Danke, @Talon)Ich habe mich auch stundenlang mit diesem Thema beschäftigt und versucht, von meinem Android Xoom zu meinem Win7-Entwicklungscomputer zu navigieren, um eine neue von mir erstellte asp.net-Web-App zu testen. Ich habe lediglich die applicationhost.config von IISExpress von der Verwendung des PC-Hostnamens in die aktuelle IP-Adresse des PCs für meine neue Site geändert.
zu
Nachdem ich dies getan und IISExpress neu gestartet hatte, konnte ich zu meinem Dev-Lee-Computer navigieren und meine App von meinem Xoom aus sehen!
quelle
Wir können mehrere Bindungsadressen hinzufügen, indem wir applicationhost.config von IIS Express bearbeiten
Jetzt können wir von LAN aus über die IP-Adresse auf die Website zugreifen.
Zugriff auf lokale Websites von Lan aus mit IIS Express
quelle
Visual Studio 2013 SP1 und höher (2015) enthält die Einstellung "Servereinstellungen auf alle Benutzer anwenden (in Projektdatei speichern)". Dies ist standardmäßig aktiviert. Wenn aktiviert, startet Visual Studio IIS Express mit Befehlszeilenargumenten, mit denen eine andere Konfigurationsdatei verwendet wird. Der Speicherort der Datei 'applicationhost.config' befindet sich im Projektverzeichnis in '.vs \ config'.
quelle
Wir haben eine kostenlose VS-Erweiterung (2012, 2013, 2015) namens Conveyor erstellt, die dies ermöglicht. Sie finden sie über das Menü Extras-> Erweiterungen ... in VS oder auf der Galerieseite https://visualstudiogallery.msdn.microsoft. com / a429dbb7-a982-4541-b401-934375c02c0f? SRC = Home
quelle
Wenn Sie mit Visual Studio arbeiten, führen Sie die folgenden Schritte aus, um über die IP-Adresse auf IIS-Express zuzugreifen:
ipconfig
in der Windows-Befehlszeile<site name="WebApplication3" id="2"> <application path="/" applicationPool="Clr4IntegratedAppPool"> <virtualDirectory path="/" physicalPath="C:\Users\user.name\Source\Repos\protoype-one\WebApplication3" /> </application> <bindings> <binding protocol="http" bindingInformation="*:62549:localhost" /> </bindings> </site>
<binding protocol="http" bindingInformation="*:62549:192.168.178.108"/>
mit Ihrer IP-Adresse
Der Hinweis ist, dass Visual Studio eine eigene applicationHost.config-Datei hat!
quelle
Ich hatte große Probleme, dies von Visual Studio 2012 zum Laufen zu bringen. Ich ging von 404 Fehlern auf 503 Fehler über. Was für mich schließlich funktionierte, war, alle zugehörigen Konfigurationen in der IIS Express-Konfiguration zu löschen ...
Dann habe ich ein neues virtuelles Verzeichnis von der Eigenschaftenseite in meinem Webprojekt in VS erstellt, aber bevor ich das virtuelle Verzeichnis erstellt habe, habe ich den Hostnamen in http: // myhost: 80 / geändert dann auf die Schaltfläche "Virtuelles Verzeichnis erstellen" . Zuvor hatte ich Fehler erhalten, die besagten, dass der Hostname "localhost" sein muss, diesmal jedoch nicht. Und danach hat es funktioniert.
Kurz gesagt, löschen Sie zuerst die vorhandene Konfiguration und starten Sie erneut.
quelle
Wenn Ihre externe Domain "name.mydyndns.com" lautet, müssen Sie Folgendes schreiben:
Dies funktioniert unter Windows 2003 Server und IIS 7.5 Express.
quelle
Setzen Sie im Anwendungspool auf IIS "32-Bit-Anwendungen aktivieren" auf "true".
quelle