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?

War es hilfreich?

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". :

enter image description here

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 ". :

enter image description here

  1. Die Adresse ist die IP -Angreifer Ihrer Entwicklermaschine.
  2. 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

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top