【问题标题】:Can I access ASP.NET Development server in an intranet?我可以访问 Intranet 中的 ASP.NET 开发服务器吗?
【发布时间】:2010-09-06 08:14:50
【问题描述】:

我正在测试一个 ASP.NET 站点。当我执行它时,它会启动 ASP.NET 开发服务器并打开一个页面。

现在我想在我拥有的 Intranet 中对其进行测试。

  1. 我可以使用这台服务器还是需要在这台机器上配置 IIS?

  2. 我需要配置一些东西才能让它工作吗?

我已将 localhost 更改为正确的 IP,并打开了防火墙。

谢谢

【问题讨论】:

  • 也许它可以帮助其他人:您可以使用 www.browserstack.com 直接从开发机器访问具有不同浏览器版本的 VM。 (我与公司无关)

标签: asp.net


【解决方案1】:

是的,你可以!而且你不需要 IIS

只需使用简单的 Java TCP 隧道。下载这个 Java 应用程序,然后将流量返回。 http://jcbserver.uwaterloo.ca/cs436/software/tgui/tcpTunnelGUI.shtml

在命令提示符下,您将像这样运行 java 应用程序...假设您希望在端口 80 上进行外部访问,并且您的标准调试环境在端口 1088 上运行...

java -jar tunnel.jar 80 localhost 1088

(也在这里回答:Accessing asp. net development server external to VM

【讨论】:

  • +1 我认为这个答案更有用,因为它允许您调试来自外部机器的请求。个人使用这个隧道软件:pocketsoap.com/tcpTrace
  • 好建议! Java TCP 隧道超级慢,所以也许 pocketsoap 是一个更好的选择。
  • 我认为应该标记为最佳答案。这是让事情正常工作的最非侵入性的方式。另外,您还可以观看数据包。
  • 不要在 java 上浪费时间!只需使用提琴手:fiddler2.com/documentation/Configure-Fiddler/Tasks/…
  • 很遗憾,您的链接已失效。我正在尝试从同一 LAN 上的另一台机器访问我正在运行的 VS 服务器,有什么想法吗?
【解决方案2】:

不,你不能。它已设置好,因此只能在 localhost 上运行,我找不到任何解决方法来使它工作。

但是,这就是我一直在做的事情 - 我在 IIS 的特定端口上创建了网站,并打开了该端口,使其在网络上可见。我将 IIS 网站指向我网站的根文件夹(其中包含 web.config 的那个)。然后我继续在本地机器上使用 ASP.NET 开发服务器进行开发 - IIS 和 ASP.NET 开发服务器可以同时访问这些文件(除非你在做一些古怪的事情)。

如果在您的机器上运行 IIS 遇到挑战,请告诉我,我会更新答案。

【讨论】:

    【解决方案3】:

    我知道这不是您问题的直接答案,但是使用 ASP 开发服务器进行调试的替代方法是附加到 IIS 进程:How do I attach the debugger to IIS instead of ASP.NET Development Server?

    【讨论】:

      【解决方案4】:

      不,愚蠢的(恕我直言)没有办法让默认的 ASP.net 开发服务器向 localhost 以外的 IP 提供页面。我所做的是使用UltiDev Cassini,它设置起来非常快,基本上是由UltiDev编译的ASP.net开发服务器的一个版本,它将为任何IP地址提供页面。

      【讨论】:

        【解决方案5】:

        仅适用于那些出于任何原因不想/无法设置 IIS 的人...

        在您的主机上使用 fiddler 或类似工具 - 在客户端 VM 上设置您的浏览器以使用代理,然后在客户端上像往常一样使用 localhost:dev_port。

        来自客户端的所有请求都转到您的开发机器上的代理,该代理路由到开发机器上的 localhost,并且 ASP.net 开发服务器认为该请求来自您的开发机器!

        【讨论】:

          【解决方案6】:

          您可以重新编译 Cassini 以使其工作 - 那里有一个相当容易删除对 localhost 的检查。或者,我很确定Ultidev's Cassini 没有这个限制。这两者都比 IIS 更容易设置。

          但是,是的,内置的 WebDev.WebServer 不起作用....嗯,除非您在您的开发盒上运行 AnalogX's Proxy 之类的东西并将其指向 WebDev 端口。这应该可以(虽然我还没有尝试过,但它应该需要

          【讨论】:

            【解决方案7】:

            您可以使用 Cassini 向外部公开您的网络应用程序。您只需要代理连接。我编写了一个简单的程序来执行此操作,您可以在另一个 VS 实例中运行它。只需更改端口以匹配 Cassini 正在使用的端口。

            https://gist.github.com/945649

            【讨论】:

            • 这对我不起作用,只是为了确认需要更改的端口号是1374?
            【解决方案8】:

            您可以使用SOAP Toolkit 3.0 进行端口重定向

            安装后,转到我的程序 > Microsoft Soap Toolkit 3 > Trace Utility

            打开跟踪实用程序后,转到文件 > 新建 > 格式化跟踪

            在对话框中,在 Forward To Destination Port 字段中插入您的 ASP .NET Development Server 端口。

            这只是用于测试目的的解决方法

            【讨论】:

            • 您能否提供更多信息?我完全按照你的建议做了,现在我该怎么办?从 Intranet comp 转到 10.0.0.3:8080 不起作用
            【解决方案9】:

            我相信内置的 ASP.NET 服务器只能在 localhost 上运行。您必须使用 IIS。

            【讨论】:

              【解决方案10】:

              在调试模式下编译所有网站,然后创建网站并在 IIS 中发布(确保可以从其他机器查看)。然后将 VS2010 Debugger 附加到您网站的 AppPool 进程中(IIS>v5 时该进程称为 w3wp.exe,IIS

              如果你做了一些更改,只需替换网站物理路径上的包内容,然后你就可以了。

              【讨论】:

              • 无需为发布迟到的答案而道歉,这就是本网站的全部内容!但是,我看不出您的回答与手头的问题有何关系。这个问题的重点是关于如何使用开发服务器——即如何使用 IIS。
              • 我在这里试图指出的是使用真正的 IIS 调试 ASP 应用程序的一种方法...您无法在开发服务器中模仿 Web 应用程序的真实行为...但是如果你使用完整的 IIS,你可以将东西发送到服务器,模仿 post 和 get,等等......这就是我的观点,我认为这个答案适合这里......作为“调试 ASP 应用程序”的替代方式
              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2013-08-05
              • 2011-03-28
              • 1970-01-01
              • 2021-12-16
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多