Zugriff auf ASP.NET Development Server von einem anderen PC im Netzwerk von einem anderen PC
-
20-09-2019 - |
Frage
Ich möchte meine Web -App in anderen Browsern testen. Ich habe den virtuellen PC so installiert, um genau das zu tun. Der ASP.NET Development Server erlaubt keine Remote -Verbindungen, sodass der virtuelle PC (ein anderer Computer im Netzwerk) nicht auf die Website zugreifen kann.
ich fand Dies Post, das begonnen wurde, aber es gab keine Lösung.
Ich verstehe, dass die Verwendung von Localhost nicht funktionieren wird. Ich habe von der Verwendung der Maschinen -IP gehört, aber wie bekomme ich diese korrekte IP? Schauen Sie sich meinen Lynksys -Router -Administrator an?
Wenn ich meine IP angeht, bin ich mir sicher, dass der ASP.NET Dev Server keine Remote -Verbindungen zulässt. Wie kann ich es ermöglichen?
Lösung
Ich mache hier ein paar Vermutungen zu deinem Setup hier, also bärme mit:
Wenn Ihre virtuelle Maschine XP Professional, Vista Business, Windows 7 Professional oder besser ist, sollten Sie IIS lokal auf dem Entwicklungsgerät ausführen und auf diesen Webserver von einem anderen Computer zugreifen, der über den Namen der virtuellen Maschine im selben Netzwerk liegt.
Wenn Sie sich auf einer realen Maschine entwickeln und verschiedene virtuelle Maschinen verwenden möchten, um auf die Webanwendung zuzugreifen, sollten Sie sicherstellen, dass Sie IIS installiert haben, eine neue Website in IIS erstellen, und Sie sollten zum Durchsuchen der IIS in die Sendung des IIS erstellen. Webanwendung über den Maschinennamen von Ihren virtuellen Maschinen.
Versuchen Sie in jedem Fall nicht, den integrierten Webserver aus Visual Studio zu verwenden. Veröffentlichen Sie Ihre Website einfach an IIS und arbeiten Sie damit so.
Viel Glück und hoffe, das hilft einigen.
Andere Tipps
Die Antwort ist: nein(*). Sie können nicht auf den ASP.NET Development Server auf einem Computer von einem anderen zugreifen, auch wenn Sie den Windows Firewall -TCP -Port öffnen.
Aus dem MSDN -Artikel "Webserver im visuellen Webentwickler":
Es wurde speziell so erstellt, dass sie ASP.NET -Webseiten unter dem lokalen Host -Szenario bedienen oder ausführen (durch denselben Computer wie der Webserver).
Mit anderen Worten, der ASP.NET Development Server serviert Seiten für Browseranfragen auf dem lokalen Computer. Es wird keine Seiten für einen anderen Computer bedienen. Darüber hinaus werden keine Dateien außerhalb des Anwendungsbereichs bereitgestellt.
(*) Sie müssen Ihre Website von Ihrem lokal installierten IIS ausführen ... oder den schönen Hack mit einer in diesem Blog -Beitrag beschriebenen Freeware machen:
iPhone Zugriff auf den Visual Studio ASP.NET Development Server
Verwenden SPI -Hafen vorwärts Um die Geräteverbindungen zu akzeptieren, führen Sie Folgendes aus:
Stellen Sie "Lokale Port" auf die Portnummer ein, auf die das Gerät hergestellt wird. Normalerweise verwende ich 8080 aus Gewohnheit
Setzen Sie "Remote Host" auf Localhost
Stellen Sie "Remote -Port" auf den ASP.NET Dev Server -Port fest
Klicken Sie auf die Schaltfläche "Aktivieren", um Verbindungen zu akzeptieren
(Hinweis: Stellen Sie sicher, dass Sie das Programm mit Administratorrechten gestartet haben.)
RINETD ein Portforwaring einrichten
Deatils hier: http://blog.waynehartman.com/articles/218.aspx
Eine andere Antwort, wenn Sie IIS (oder Tunnel) nicht verwenden möchten: https://stackoverflow.com/a/12008223/1552178
Verwenden Sie Fiddler oder ähnliches auf Ihrem Host - Stellen Sie Ihren Browser auf dem Client VM ein, um den Proxy zu verwenden und verwenden Sie einfach Localhost: dev_port wie gewohnt im Client.
Alle Anfragen des Clients wandeln sich mit dem Proxy auf Ihrem Dev -Gerät, der auf Localhost auf dem Dev -Gerät und auf dem ASP.NET Dev Server leitet, dass die Anforderung von Ihrem Entwicklergerät stammt!
Ich beantworte diese alte Frage, um den Menschen zu helfen, damit sie funktioniert Ohne IIS.
1. Erster Schritt
Sie müssen herunterladen Geiger.
Sobald Fiddler heruntergeladen und installiert ist, öffnen Sie es.
Hineingehen Tools-> Fiddler Option-> Verbindungsregisterkarte> und prüfen "Remotecomputer zu ermöglichen, um eine Verbindung herzustellen". :
Starten Sie Fiddler neu.
2. Zweiter Schritt
Danach in der andere PC im Netzwerk oder im VM, Öffnen Sie Internet Explorer-> Internetoptionen-> Verbindungs-Registerkarte "LAN-Einstellungen-> Überprüfen" Verwenden Sie einen Proxy-Server für Ihre LAN ". :
- Die Adresse ist die IP -Angreifer Ihrer Entwicklermaschine.
- Und setzen Sie den Port 8888 ein
Jetzt können Sie von einem anderen PC im Netzwerk auf den ASP.NET -Webserver zugreifen (möglicherweise haben Sie mehr Konfiguration wie Firewall, uneingeschränkter Port usw., aber dies ist ein guter Anfang)!
Zu darauf zugreifen -> http://localhost.:54814
- Vergessen Sie nicht den zusätzlichen Punkt nach "Localhost"! (Überschreiben Sie den lokalen Localhost)
- Der Port "54814" in meinem Fall ist der ASP.NET Web Server -Port.
HINWEIS :
- Um zu testen, ob der Proxy funktioniert, können Sie dies versuchen: http://localhost.:8888
- Vielleicht habe ich vergessen, auf einige Konfigurationen hinzuweisen, aber sie hängt immer von der Netzwerkinfrastruktur ab.
Arbeitslösung für Linux
Dies sollte funktionieren, wenn Sie einen ASP.NET Dev -Server unter Windows in einem VM oder auf einem anderen Host ausführen und von Linux auf darauf zugreifen möchten
Auf Windows -Maschine
Aus irgendeinem Grund können Sie keine direkte Verbindung zum ASP.NET Dev Server -Port herstellen. Sie müssen ihn zuerst lokal vorstellen:
Verwenden SPI -Hafen vorwärts Um die Geräteverbindungen zu akzeptieren, führen Sie Folgendes aus:
Setzen Sie "Lokale Port" auf die Portnummer, auf die das Gerät hergestellt wird, z. B. 8089 "Remote -Host" auf Localhost
Stellen Sie "Remote -Port" auf den ASP.NET Dev Server -Port fest
Klicken Sie auf die Schaltfläche "Aktivieren", um Verbindungen zu akzeptieren
(Hinweis: Stellen Sie sicher, dass Sie das Programm mit Administratorrechten gestartet haben.)
Auf Linux -Maschine
Lokal localhost Port 8089 vor Ort an die Windows -IP (Ersetzen GUEST_IP_HERE
mit der richtigen IP):
iptables -t nat -A OUTPUT -m addrtype --src-type LOCAL --dst-type LOCAL -p tcp --dport 8089 -j DNAT --to-destination GUEST_IP_HERE:8089
iptables -t nat -A POSTROUTING -m addrtype --src-type LOCAL --dst-type UNICAST -j MASQUERADE
Dies ist erforderlich, da der Dev -Server speziell nach Localhost in der Anfrage sucht und nicht darauf reagiert http://GUEST_IP_HERE:8089
vom Gastgeber
Öffnen Sie eine Eingabeaufforderung und tippen Sie; "IPConfig" Dies gibt Ihnen die IP -Adresse Ihrer Maschinen.
Wenn Sie Ihre Firewall deaktivieren (zumindest für den ASP.Net Dev -Port), sollten Sie in der Lage sein, in den Browser des virtuellen PCs einzugeben können http://192.168.1.3:3243/default.aspx