远程计算机无法连接到Visual Studio Web服务器

时间:2008-10-20 23:16:55

标签: .net asp.net visual-studio visual-studio-2008

我记得当MS正在开发Cassini时 - 我相信他们已经把它推到了VS 05/08,所以我认为这是一个Cassini网络服务器问题。

我正在使用Windows XP和Visual Studio 2008,当我想测试具有多个浏览器和多个操作系统的网页/样式时,发现它非常不方便。现在我必须在我们的服务器上部署代码,如果有任何更新需要发生,那么这个过程会耗费大量时间。由于我使用的是XP / IIS 5,因此不能选择使用IIS。在XP上使用IIS需要一个项目的额外前缀,这会打破所有链接,css等。这也是一个非常快速的开发项目,所以像root目录这样的东西应该被拉出来配置不是,我很喜欢有这种类型的解决方案,但它没有在这个项目中实现。似乎非常粗略,MS不允许在某处允许远程连接的简单标志 - 它非常简单(http://www.devx.com/dotnet/Article/11711)但我不想重新编译Cassini。

是否有人知道如何让其他计算机看到Visual Studio 2008中的集成开发Web服务器?这样可以节省大量时间。

9 个答案:

答案 0 :(得分:39)

刚刚找到了一个很好的解决方案: 1)在开发机器上设置fiddler 2)设置远程机器使用fiddler作为代理 3)浏览到远程机器上的http://localhost.:[insert your dev port # here] /

答案 1 :(得分:15)

很抱歉回答一个旧问题,但它排在谷歌,所以我决定增加2美分:

在VS 2010中,可以选择使用“IIS Express”而不是VS Development Server,默认情况下允许远程连接。

更新:默认情况下,当前版本的IIS Express不允许外部连接,请参阅HERE了解如何启用远程连接。

答案 2 :(得分:3)

您可以使用端口转发实用程序监听端口,例如5000,然后将所有流量转发到Visual Studio的端口。

该解决方案在文章Accessing the Visual Studio ASP.NET Development Server from iPhone中进行了描述。

我根据上面的文章撰写了一篇博客文章,总结了它,Accessing Visual Studio Web Server remotely

enter image description here

答案 3 :(得分:2)

Microsoft不会故意这样做 - 他们不希望您使用Cassini部署应用程序。 It's compiled right into its code

话虽这么说,我常常想知道他们是否只是查看“localhost”的网址。也许编辑远程机器的HOSTS文件并将“localhost”重定向到cassini机器可能会欺骗它?值得一试......在Windows中你可以找到HOSTS:

C:\Windows\system32\drivers\etc

您可以进入您的网站项目设置并让它使用本地IIS作为主机,然后它将正常工作。

答案 4 :(得分:0)

解决链接断开,文件路径等问题。使用相对链接。

此外,ASP.NET服务器控件中URL /路径属性/值中的标记“〜/”(不带引号)将自动替换为应用程序所在的IIS子文件夹的实际路径。

要使此解决方案正常工作,您正在开发的Web应用程序的根目录必须是IIS应用程序(请参阅Web部分的Web项目属性页,您可以在其中找到用于创建IIS应用程序的链接或按钮)。

Google for IIS Web Application Root。

答案 5 :(得分:0)

我在本地方框上测试了多个浏览器。本地Web服务器不关心您是否使用Opera / Safari / Firefox / IE连接到它。通常我在调试器中启动项目,调试器也启动IE,然后将IE中的URL剪切/粘贴到我正在测试的任何浏览器中。通常,Cassini选择的端口不会经常更改,因此很多时候URL已经存在于我的浏览器历史记录中。 Web服务器运行后,您甚至可以停止调试器并继续在备用浏览器中进行测试。

对于其他MacOS,我通常使用IIS6发布到QA服务器。我发现经过IE / Firefox /等测试后很少见。在WinXP上,Mac上出现了问题。我没有专门测试Linux的变体。

答案 6 :(得分:-1)

尝试将.Net绑定到127.0.0.1而不是localhost,它确实在我遇到的某些情况下会对分辨率产生影响。 我希望我一直都知道,这样可以节省我几个小时。

我也看过使用Privoxy,这可能会更快,但Fiddler更容易,不需要设置环回。

无论如何,我在localhost:15709上有VS设置,这在Fiddler: if(oSession.host.toLowerCase()==“webserver:15709”)oSession.host =“localhost:15709”;

所以我只需在我的虚拟机中键入webserver:15709即可。

答案 7 :(得分:-2)

使用Fiddler作为反向代理,开发Web服务器可以获取请求,但它成为内部请求(127.0.0.1),在我的情况下没用。

我正在尝试捕获远程请求以在那里进行调试。

答案 8 :(得分:-2)

WebMatrix是另一种选择。