【问题标题】:VS2013: How to debug a web application under a specific app domain?VS2013:如何调试特定应用程序域下的 Web 应用程序?
【发布时间】:2013-11-20 22:18:54
【问题描述】:

我有几个应用程序使用端口 80 在一个应用程序域下运行。我正在使用端口 80 来测试和开发 Web 应用程序代码。

我想获取这些相同的应用程序并将它们发布到不同的应用程序域中的不同端口,8001。

这样,当我在端口 80 上开发和编译我的项目时,客户可以查看我使用端口 8001 的应用程序。但是,当我调试我的应用程序时,它会冻结端口 80 和 8001 上的 Web 应用程序。

如何在不影响 8001 端口下的 Web 应用程序的情况下,在 80 端口下调试我的应用程序?

【问题讨论】:

    标签: asp.net visual-studio debugging iis


    【解决方案1】:

    您需要确保在 IIS 中有两个不同的应用程序池,因为每个应用程序池通常作为不同的进程 (w3wp.exe) 运行。如果您调试在池中运行的站点,它将停止执行该进程。如果您的其他网站使用相同的 AppPool/进程,它也会停止。

    我只是通过设置两个具有自己的 AppPools 的站点来仔细检查这一点。我可以调试一个站点并仍然使用另一个站点。我还没有测试这是否也适用于同一站点下的多个 webApplications。

    我个人使用 IIS Express 进行开发和调试,但保持正确的 IIS 运行并指向相同的站点。这样我的调试对其他用户来说永远不会成为问题(除非我破坏了网站)。

    理想情况下,您不希望其他用户访问您当前正在处理的同一网站。只需为其他用户使用不同的站点,并在足够稳定的情况下使用您的最新版本进行更新。

    【讨论】:

    • "您需要确保在 IIS 中有两个不同的应用程序池,因为每个应用程序池通常作为不同的进程运行 (w3wp.exe)" 我的应用程序在它们自己的应用程序池中运行.当我在 VS2013 中转到工具 =>“附加到进程”时,我看到一个用于 c# 2.0 的 w3wp.exe 进程和另一个用于 c# 4.0 的进程。如果我的理解正确,我应该会看到两个用于 c# 2.0 的 w3wp.exe 进程和另外两个用于 c# 4.0 的进程。
    • @burnt1ce - 如果您有四个具有活动请求的应用程序池,那么您还应该有四个 w3wp.exe 进程。如果您只看到两个,则应该意味着您只运行了两个应用程序池。
    猜你喜欢
    • 2015-12-31
    • 2017-02-16
    • 2017-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-15
    • 2012-08-04
    • 1970-01-01
    相关资源
    最近更新 更多