我想在其他浏览器中测试我的Web应用程序。我已经安装了虚拟PC来做到这一点。 ASP.NET开发服务器不允许远程连接,因此虚拟PC(网络上的另一台计算机)无法访问网站。

我发现 这个 帖子开始了,但没有解决方案。

我了解使用Localhost将行不通。我听说过使用机器IP,但是如何获得正确的IP?看看我的Lynksys路由器管理员吗?

如果我要获得我的IP,请确保ASP.NET DEV服务器不允许远程连接。我该如何使它这样做?

有帮助吗?

解决方案

我在这里对您的设置进行了一些猜测,因此请忍受:

如果您的虚拟机是XP Professional,Vista业务,Windows 7专业或更高的功能,那么您应该能够在开发机上本地运行IIS,并通过Virtual Machine的名称在同一网络上的另一台机器上访问该Web服务器。

同样,如果您在真实的机器上进行开发,并且想使用不同的虚拟机访问Web应用程序,则应确保已安装IIS,在IIS中创建一个新网站,您应该浏览到该网站Web应用程序通过机器名称从虚拟机中使用。

无论哪种方式,都不要尝试从Visual Studio中使用内置Web服务器,只需将您的网站发布到IIS并以此方式使用。

祝您好运,希望这对一些有帮助。

其他提示

答案是: (*)。即使您打开Windows防火墙TCP端口,也无法从另一台计算机上访问一台计算机上的ASP.NET开发服务器。

来自MSDN文章 “ Visual Web开发人员中的Web服务器":

它是专门为在本地主机方案(与Web服务器同一计算机浏览)下在本地主机方案下使用或运行ASP.NET网页的专门构建的。

换句话说,ASP.NET开发服务器将在本地计算机上提供页面浏览请求。它不会为另一台计算机提供页面。此外,它将无法提供在应用程序范围之外的文件。

(*)您必须从本地安装的IIS运行您的网站...或使用此博客文章中描述的一些免费软件进行智慧:

iPhone访问Visual Studio ASP.NET开发服务器

利用 SPI端口向前 接受设备连接执行以下操作:

将“本地端口”设置为设备将连接的端口号,我通常会出于习惯8080
将“远程主机”设置为localhost
将“远程端口”设置为ASP.NET DEV服务器端口

单击“激活”按钮开始接受连接

(注意:确保您已经启动了Admin权利的程序)

使用RINETD设置Portforwardd
这里的Deatils: http://blog.waynehartman.com/articles/218.aspx

如果您不想使用IIS(或隧道),则另一个答案: https://stackoverflow.com/a/12008223/1552178

在主机上使用Fiddler或类似方法 - 在客户端VM上设置浏览器以使用代理,然后只需在客户端上使用Localhost:Dev_port即可。

客户端的所有请求在您的开发机上goto goto the dev Machine上的代理,该代理路由Dev Machine和ASP.NET DEV Server上的Localhost路由,并认为该请求来自您的Dev Machine!

我正在回答这个古老的问题,以帮助人们使它起作用 没有II.

1.第一步

您必须下载 提琴手.

下载和安装提琴手后,将其打开。

进去 工具 - >提琴手选项 - >连接选项卡 - >检查“允许远程计算机连接” :

enter image description here

重新启动提琴手。

2.第二步

之后,在 网络或VM上的另一台PC, 打开Internet Explorer-> Internet选项 - >连接选项卡 - > LAN设置 - >检查“为LAN使用代理服务器” :

enter image description here

  1. 地址是开发机的IP Adress。
  2. 并放置港口8888

现在,您可以从网络上的另一台PC访问ASP.NET Web服务器(也许您有更多的配置,例如防火墙,无限制的端口等,但这是一个很好的开始)!

访问它 - > http://localhost.:54814

  • 不要忘记“ Localhost”之后的其他点! (覆盖本地主机)
  • 在我的情况下,端口是“ 54814”,是ASP.NET Web服务器端口。

笔记 :

  • 要测试代理工作是否可以尝试以下操作: http://localhost.:8888
  • 也许我忘了指出一些配置,但它总是取决于网络基础架构。

Linux的工作解决方案

如果您在VM或另一个主机上的Windows上运行ASP.NET DEV服务器,则该工作应该有效,并且要从Linux访问它

在Windows机器上

由于某种原因,您无法直接连接到ASP.NET DEV服务器端口,您需要首先在本地代理:

利用 SPI端口向前 接受设备连接执行以下操作:

将“本地端口”设置为设备将连接的端口号,例如8089 set“远程主机”到localhost
将“远程端口”设置为ASP.NET DEV服务器端口

单击“激活”按钮开始接受连接

(注意:确保您已经启动了Admin权利的程序)

在Linux机器上

本地转发本地主机端口8089到Windows IP(替换 GUEST_IP_HERE 使用正确的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

这是需要的,因为开发服务器专门在请求中寻找本地主机,不会响应 http://GUEST_IP_HERE:8089 来自主机

打开命令提示符和键入; “ ipconfig”这将为您提供机器IP地址。

如果您禁用防火墙(至少适用于ASP.NET DEV端口),则应该能够输入虚拟PC的浏览器 http://192.168.1.3:3243/default.aspx

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top